Messages in this thread | | | Date | Mon, 27 Oct 2008 09:25:12 -0700 | From | Randy Dunlap <> | Subject | Re: [Patch 2.6.27] fix booting on Sharp Zaurus c3000 |
| |
On Sun, 26 Oct 2008 19:41:09 +0100 Pavel Machek <pavel@suse.cz> wrote:
> Hi! > > > > > Thanks for the effort, but it looks like it did not make it, right? > > > > > > Correct - Linus was unpredictable and released 2.6.27 that evening, > > > four days early giving me no time to push the fix to him. > > > > > > However, it's gone in as part of the first ARM merge, so should be in > > > -rc1. > > > > Is it in -stable? if not, is it considered as -stable material? > > Yes, I guess it should go to stable. > > commit 69fc7eed5f56bce15b239e5110de2575a6970df4 > Author: Dmitry Baryshkov <dbaryshkov@gmail.com> > Date: Thu Oct 9 16:58:13 2008 +0100 > > [ARM] 5300/1: fixup spitz reset during boot > > Some machines don't have the pullup/down on their reset > pin, so configuring the reset generating pin as input makes > them reset immediately. Fix that by making reset pin direction > configurable. > > Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com> > Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> > Signed-off-by: Pavel Machek <pavel@suse.cz> > > diff --git a/arch/arm/mach-pxa/include/mach/reset.h b/arch/arm/mach-pxa/include/mach/reset.h > index 9489a48..7b8842c 100644 > --- a/arch/arm/mach-pxa/include/mach/reset.h > +++ b/arch/arm/mach-pxa/include/mach/reset.h > @@ -10,9 +10,12 @@ > extern unsigned int reset_status; > extern void clear_reset_status(unsigned int mask); > > -/* > - * register GPIO as reset generator > +/** > + * init_gpio_reset() - register GPIO as reset generator > + * > + * @gpio - gpio nr > + * @output - set gpio as out/low instead of input during normal work
Use colon (':') after function parameters, not hyphen/dash.
> */ > -extern int init_gpio_reset(int gpio); > +extern int init_gpio_reset(int gpio, int output); > > #endif /* __ASM_ARCH_RESET_H */ > diff --git a/arch/arm/mach-pxa/reset.c b/arch/arm/mach-pxa/reset.c > index 31d7885..1b2af57 100644 > --- a/arch/arm/mach-pxa/reset.c > +++ b/arch/arm/mach-pxa/reset.c > @@ -20,7 +20,7 @@ static void do_hw_reset(void); > > static int reset_gpio = -1; > > -int init_gpio_reset(int gpio) > +int init_gpio_reset(int gpio, int output) > { > int rc; > > @@ -30,9 +30,12 @@ int init_gpio_reset(int gpio) > goto out; > } > > - rc = gpio_direction_input(gpio); > + if (output) > + rc = gpio_direction_output(gpio, 0); > + else > + rc = gpio_direction_input(gpio); > if (rc) { > - printk(KERN_ERR "Can't configure reset_gpio for input\n"); > + printk(KERN_ERR "Can't configure reset_gpio\n"); > gpio_free(gpio); > goto out; > } > diff --git a/arch/arm/mach-pxa/spitz.c b/arch/arm/mach-pxa/spitz.c > index 9b4f24c..524f656 100644 > --- a/arch/arm/mach-pxa/spitz.c > +++ b/arch/arm/mach-pxa/spitz.c > @@ -618,7 +618,7 @@ static void spitz_restart(char mode) > > static void __init common_init(void) > { > - init_gpio_reset(SPITZ_GPIO_ON_RESET); > + init_gpio_reset(SPITZ_GPIO_ON_RESET, 1); > pm_power_off = spitz_poweroff; > arm_pm_restart = spitz_restart; > > diff --git a/arch/arm/mach-pxa/tosa.c b/arch/arm/mach-pxa/tosa.c > index 9f3ef9e..130e37e 100644 > --- a/arch/arm/mach-pxa/tosa.c > +++ b/arch/arm/mach-pxa/tosa.c > @@ -781,7 +781,7 @@ static void __init tosa_init(void) > gpio_set_wake(MFP_PIN_GPIO1, 1); > /* We can't pass to gpio-keys since it will drop the Reset altfunc */ > > - init_gpio_reset(TOSA_GPIO_ON_RESET); > + init_gpio_reset(TOSA_GPIO_ON_RESET, 0); > > pm_power_off = tosa_poweroff; > arm_pm_restart = tosa_restart; > >
-- ~Randy
| |