Re: [PATCH 2/2] spi: qup: Request CS GPIO's during probe

From: Ivan T. Ivanov
Date: Tue Mar 10 2015 - 04:31:53 EST


Hi,

On Mon, 2015-03-09 at 11:53 -0700, Stephen Boyd wrote:
> On 03/09/15 01:20, Ivan T. Ivanov wrote:
> > Hi Stephen,
> >
> > > On Mar 6, 2015, at 8:34 PM, Stephen Boyd <sboyd@xxxxxxxxxxxxxx> wrote:
> > > On 03/06/15 07:26, Ivan T. Ivanov wrote:
> > > > Ensure that driver is owner of the GPIO's used for CS signals.
> > > Why? What happens if we donât?
> > We can have wrong DT configuration, which could reconfigure
> > GPIOâs without any warning or error.
>
> Ouch. That sounds bad. Can you please add this information to the commit
> text?

Sure.

> > > > + for (cs = 0; cs < master->num_chipselect; cs++) {
> > > > + cs_gpio = of_get_named_gpio(dev->of_node, "cs-gpios", cs);
> > > > +
> > > > + if (!gpio_is_valid(cs_gpio))
> > > > + continue;
> > > > +
> > > > + ret = devm_gpio_request(&pdev->dev, cs_gpio, "spi-qup-cs");
> > > > + if (ret) {
> > > > + dev_err(&pdev->dev, "can't get cs gpios\n");
> > > > + goto error;
> > > > + }
> > > > + }
> > > > +
> > > > master->bus_num = pdev->id;
> > > Is this related to [1]? In that case I was just relying on DT/pinctrl to
> > > properly request the gpios.
> > But the DT/pinctrl did not request GPIOâs, it just configure them.
> > For some reason we are ending without any pinctrl_map of type
> > PIN_MAP_TYPE_MUX_GROUP, which is used for pin reservation.
> >
>
> Ah ok. I seem to be misremembering the details.

:-) I still have version of downstream "msm-pinctrl" driver,
which create PIN_MAP_TYPE_MUX_GROUP maps during node to map
parsing.

>
> Can you please use the gpiod interfaces here (devm_gpiod_get_index)?

Sure.

> That's more modern. Also, don't print any error because -EPROBE_DEFER
may come out and

Well, this could not happen. Driver probe will not called until default
pinctrl state is not available and we rely on this for proper driver
functionality.

> because __gpiod_get_index() already prints an error on
> failure at the debug level.

Ok.

Thanks,
Ivan
--
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/