On Fri, Jun 13, 2014 at 09:29:50AM +0530, Naveen Krishna Chatradhi wrote:

> Hence, spi-s3c64xx.c is broken since "Jun 21 11:26:12 2013" and
> considering the time with no compliants about the breakage.

I'm not clear what the breakage is?  Some boards are broken but what's
the driver issue?

>       if (!spi_get_ctldata(spi)) {
>               /* Request gpio only if cs line is asserted by gpio pins */
> -             if (sdd->cs_gpio) {
> -                     err = gpio_request_one(cs->line, GPIOF_OUT_INIT_HIGH,
> -                                     dev_name(&spi->dev));
> +             if (gpio_is_valid(spi->cs_gpio)) {
> +                     err = gpio_request_one(spi->cs_gpio,
> +                                             GPIOF_OUT_INIT_HIGH,
> +                                             dev_name(&spi->dev));
>                       if (err) {
>                               dev_err(&spi->dev,
>                                       "Failed to get /CS gpio [%d]: %d\n",
> -                                     cs->line, err);
> +                                     spi->cs_gpio, err);
>                               goto err_gpio_req;
>                       }
> -
> -                     spi->cs_gpio = cs->line;
> +             } else {
> +                     dev_err(&spi->dev, "chip select gpio is invalid\n");
> +                     return -EINVAL;
>               }

This appears to be making it mandatory to specify a GPIO when previously
it was not mandatory which I believe breaks some SoCs - the native chip
select has to be used on some devices as there is no pinmux option to
make it a GPIO (this was why the native chip select support was added).

Also I'd need to check but are you sure that GPIO 0 is not valid?

Attachment: signature.asc
Description: Digital signature

Reply via email to