[PATCH v5 07/17] video: lcd: add LoCoMo LCD driver
Russell King - ARM Linux
linux at arm.linux.org.uk
Sun Jun 14 08:18:55 PDT 2015
On Mon, Jun 08, 2015 at 11:56:38PM +0300, Dmitry Eremin-Solenikov wrote:
> +int locomo_lcd_set_power(struct lcd_device *ldev, int power)
> +{
> + struct locomo_lcd *lcd = lcd_get_data(ldev);
> +
> + dev_dbg(&ldev->dev, "LCD power %d (is %d)\n", power, lcd->power);
> +
> + if (!power && lcd->power)
> + locomo_lcd_on(lcd);
> +
> + if (power && !lcd->power)
> + locomo_lcd_off(lcd);
Is this correct? You want to turn the LCD _off_ if power is non-zero, but
turn it _on_ if power is _zero_ ?
Just wondering if this would be clearer:
if (!power != !lcd->power) {
/* Power state is different */
if (!power)
locomo_lcd_on(lcd);
else
locomo_lcd_off(lcd);
lcd->power = power;
}
At least less prone to getting the power state wrong...
> +static int locomo_lcd_remove(struct platform_device *dev)
> +{
> + struct lcd_device *ldev = platform_get_drvdata(dev);
> + struct locomo_lcd *lcd = lcd_get_data(ldev);
> +
> + locomo_lcd_off(lcd);
You're careful above not to turn the LCD off if it's already off, but here
that doesn't matter? What if the LCD is already off? Does this need
protection against double-off?
> +
> + locomo_lcd_disable_adsync(lcd);
> +
> + iio_channel_release(lcd->comadj);
> +
> + return 0;
> +}
> +
> +static void locomo_lcd_shutdown(struct platform_device *dev)
> +{
> + struct lcd_device *ldev = platform_get_drvdata(dev);
> + struct locomo_lcd *lcd = lcd_get_data(ldev);
> +
> + locomo_lcd_off(lcd);
Ditto.
--
FTTC broadband for 0.8mile line: currently at 10.5Mbps down 400kbps up
according to speedtest.net.
More information about the linux-arm-kernel
mailing list