New Kirkwood board support

Uwe Kleine-König u.kleine-koenig at pengutronix.de
Thu Oct 28 15:50:14 EDT 2010


Hello Nils,

On Thu, Oct 28, 2010 at 09:33:13PM +0200, Nils Faerber wrote:
> Am 28.10.2010 21:01, schrieb Uwe Kleine-König:
> > On Thu, Oct 28, 2010 at 08:34:45PM +0200, Nils Faerber wrote:
> >>  arch/arm/configs/tk71_defconfig     | 1700 +++++++++++++++++++++++++++++++++++
> > I'm sure we're not taking new defconfigs now.  Can you add your machine
> > to an existing defconfig?  Moreover it's not reduced.  You need to do at
> 
> Hmm... I have to look at the others. Probably a good idea.
> 
> > least:
> > 	make tk71_defconfig
> > 	make savedefconfig
> > 	mv defconfig arch/arm/configs/tk71_defconfig
> 
> OK, thanks, will check that out!
> 
> >> +	/* eth1 */
> >> +	if (gpio_request(28, "PHY2 reset") != 0 ||
> >> +		gpio_direction_input(28) != 0) // high-z
> > I don't know if it's usually in mach-kirkwood to write it this way, but
> > I think it can be done in a more readable way.
> 
> Most importantly I juts saw a remaining "//" comment - oops!
Do you know scripts/checkpatch.pl?  It should warn about these comments
and some more things.
 
> But how more readable should I do that? The pin is assigned to the gpio
> system (which is IMHO a good idea) and those line should make it high
> impedance. This has nothing much to do with kirkwood I think.
I think the usuals kernel style is something like:

	#define TK71_GPIO_PHY2_RESET 28
	static inline int tk71_setup_phy2_reset(void)
	{
		int ret = gpio_request(TK71_GPIO_PHY2_RESET, "PHY2 reset");
		if (ret)
			goto err_request_phy2_reset;
		
		ret = gpio_direction_input(TK71_GPIO_PHY2_RESET);
		if (ret) 
	err_request_phy2_reset:
			pr_err("something\n");

		return ret;
	}

It's a bit more verbose, but (IMHO) easier so parse.

> >> +		printk(KERN_ERR "can't deassert GPIO 28 (PHY2 reset)\n");
> > pr_err maybe?
> 
> Well - sure, could take that too, OK.
You can even define pr_fmt to something sensible to get a common prefix
for all pr_xyz.

> 
> >> +MACHINE_START(TK71, "TK71 Kirkwood based Q7 formfactor board")
> >> +	/* Maintainer: Nils Faerber <nils.faerber at kernelconcepts.de> */
> >> +	.phys_io	= KIRKWOOD_REGS_PHYS_BASE,
> >> +	.io_pg_offst	= ((KIRKWOOD_REGS_VIRT_BASE) >> 18) & 0xfffc,
> > These fields don't exist anymore.
> 
> Oh really? Which more exactly? I miss to see the difference with other
> boards in the mach-kirkwood/ subdir.
Then you didn't have the corresponding commit yet.

See http://git.kernel.org/linus/6451d7783ba5ff24eb1a544eaa6665b890f30466
.  (This is post-2.6.36 material.)
 
Liebe Grüße
Uwe

-- 
Pengutronix e.K.                           | Uwe Kleine-König            |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |



More information about the linux-arm-kernel mailing list