Re: [PATCH] add missing intialisation of bgc->dir

From: Grant Likely
Date: Mon Jul 04 2011 - 12:01:05 EST


On Mon, Jul 4, 2011 at 9:51 AM, Lothar Waßmann <LW@xxxxxxxxxxxxxxxxxxx> wrote:
> Hi,
>
> Grant Likely writes:
>> On Mon, Jul 04, 2011 at 11:37:57AM +0200, Lothar Waßmann wrote:
>> > Hi,
>> >
>> > Grant Likely writes:
>> > > On Fri, Jul 01, 2011 at 02:08:51PM +0200, Lothar Waßmann wrote:
>> > > > ---
>> > > >  drivers/gpio/basic_mmio_gpio.c |    1 +
>> > > >  1 files changed, 1 insertions(+), 0 deletions(-)
>> > > >
>> > > > diff --git a/drivers/gpio/basic_mmio_gpio.c b/drivers/gpio/basic_mmio_gpio.c
>> > > > index 8152e9f..e69a453 100644
>> > > > --- a/drivers/gpio/basic_mmio_gpio.c
>> > > > +++ b/drivers/gpio/basic_mmio_gpio.c
>> > > > @@ -399,6 +399,7 @@ int __devinit bgpio_init(struct bgpio_chip *bgc,
>> > > >                 return ret;
>> > > >
>> > > >         bgc->data = bgc->read_reg(bgc->reg_dat);
>> > > > +       bgc->dir = bgc->read_reg(bgc->reg_dir);
>> > >
>> > > Hi Lothar.
>> > >
>> > > You'll need to double check your email setup.  The patch got emailed
>> > > separately from the description.
>> > >
>> > git-send-email did that.
>>
>> It appears that you asked it to send a cover letter, which you usually
>> don't want when sending a single patch.  The patch description should
>> be part of the git commit itself.
>>
> Yes, I noticed that already.
>
>> > > I don't know if this is a valid thing to do or not.  Not every GPIO
>> > > controller supports reading back the initial state from the direction
>> > > register.  I suspect it is better to leave initialization of the
>> > > direction to the gpio controller driver itself.
>> > >
>> > That would mean, that external software would have to have access to
>> > the bgpio internal data structures which is a Bad Thing(TM) IMO. Or we
>> > need a function that allows to explicitly initialize the internal
>> > shadow registers.
>>
>> What device are you using this for.  Are you using the basic gpio
>> platform_driver, or do you have a driver using the library part of the
>> basic gpio code?
>>
> I'm using it via drivers/gpio/gpio-mxc.

You can safely do the "bgc->dir = bgc->read_reg(bgc->reg_dir);" in
gpio-mxc after bgpio_init returns.

g.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/