Re: [PATCH v2] spi: omap2-mcspi: Add support for GPIO chipselects

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Apr 28, 2015 at 11:04:09AM -0300, Ezequiel Garcia wrote:
> On 04/27/2015 10:21 PM, Michael Welling wrote:
> > On Mon, Apr 27, 2015 at 08:55:50PM +0100, Mark Brown wrote:
> >> On Sun, Apr 26, 2015 at 10:44:30PM -0500, Michael Welling wrote:
> >>
> >>> +	if (gpio_is_valid(spi->cs_gpio)) {
> >>> +		gpio_set_value(spi->cs_gpio, (cs_active) ?
> >>> +			!!(spi->mode & SPI_CS_HIGH) :
> >>> +			!(spi->mode & SPI_CS_HIGH));
> >>> +	}
> >>
> >> Two problems here.  One is that the above logic statement is just not
> >> readable (the repitition of hecks, the ternery operator, the
> >> indentation...) and the other is that the core chipselect support
> >> already handles GPIO chipselects so you should really be converting the
> >> driver to use that.  At the very least the code needs to be legible
> >> though.
> > 
> > Before I send another patch how does this look?
> > 
> > 	if (gpio_is_valid(spi->cs_gpio)) {
> > 		if (cs_active)
> > 			gpio_set_value(spi->cs_gpio, spi->mode & SPI_CS_HIGH);
> > 		else
> > 			gpio_set_value(spi->cs_gpio, !(spi->mode & SPI_CS_HIGH));
> > 	}
> > 
> > If I were to attempt to convert the driver to use the core chipselect support,
> > how would I go about doing it?
> > 
> > Is there another driver that I can use for reference?
> 
> We've recently done that for spi-img-spfi.c.
>

Okay, thanks for pointing that out.
 
> -- 
> Ezequiel
--
To unsubscribe from this list: send the line "unsubscribe linux-spi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux