Re: [PATCH V2 19/19] irqchip: add C-SKY irqchip drivers

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 4 Jul 2018, Guo Ren wrote:
> On Tue, Jul 03, 2018 at 11:28:03AM +0200, Thomas Gleixner wrote:
> That's Ok. And here is my implementation:
> 
> static inline u32 build_intc_ctrl(u32 idx)
> {
> 	/*
> 	 * One channel is one byte in a word-width register, so
> 	 * there are four channels in a word-width register.
> 	 *
> 	 * Set the same index for each channel and it will make
> 	 * "irq num = channel num".
> 	 */
> 	return (idx             | ((idx + 1) << 8) |
> 	      ((idx + 2) << 16) | ((idx + 3) << 24));
> }
> Hmm? (No magic number)

Ok :)

> > > +	static void __iomem	*reg_base;
> > > +	irq_hw_number_t		hwirq;
> > > +
> > > +	reg_base = *this_cpu_ptr(&intcl_reg);
> > 
> > Wheee!
> > 
> > 	static void __iomem *reg_base = this_cpu_read(intcl_reg);
> > 	irq_hw_number_t	hwirq;
> > 
> > Hmm?
> Thx for the tips and I'll use this_cpu_read() without static.
>  	void __iomem *reg_base = this_cpu_read(intcl_reg);

Yeah, I surely missed to drop the static ...

> > 
> > Aside of that the whole thing might share the code with the other one, but
> > it might not be worth it. At least this wants to be documented in the
> > changelog why sharing the code is not useful...
>
> Do you mean merge irq-csky-v1.c irq-csky-v2.c irq-nationalchip.c into
> one file eg: irq-csky.c? 

Yes, but only if there is enough code to share without creating an ifdef
mess. But that looks doable

Thanks,

	tglx



[Index of Archives]     [Linux Kernel]     [Kernel Newbies]     [x86 Platform Driver]     [Netdev]     [Linux Wireless]     [Netfilter]     [Bugtraq]     [Linux Filesystems]     [Yosemite Discussion]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]

  Powered by Linux