Re: [RFC 3/4] sh: ecovec24: convert backlight to use device properties
From: jacopo mondi
Date: Fri Mar 16 2018 - 06:11:15 EST
Hi Dmitry,
On Thu, Mar 15, 2018 at 03:42:01PM -0700, Dmitry Torokhov wrote:
> Instead of backlight legacy platform data, let's switch to using device
> properties and GPIO lookup tables.
>
> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
> ---
> arch/sh/boards/mach-ecovec24/setup.c | 23 +++++++++++++++--------
> 1 file changed, 15 insertions(+), 8 deletions(-)
>
> diff --git a/arch/sh/boards/mach-ecovec24/setup.c b/arch/sh/boards/mach-ecovec24/setup.c
> index 67633d2d42390..ad3d48b3ead19 100644
> --- a/arch/sh/boards/mach-ecovec24/setup.c
> +++ b/arch/sh/boards/mach-ecovec24/setup.c
> @@ -11,11 +11,13 @@
> #include <linux/init.h>
> #include <linux/device.h>
> #include <linux/platform_device.h>
> +#include <linux/property.h>
> #include <linux/mmc/host.h>
> #include <linux/mmc/sh_mmcif.h>
> #include <linux/mtd/physmap.h>
> #include <linux/mfd/tmio.h>
> #include <linux/gpio.h>
> +#include <linux/gpio/machine.h>
> #include <linux/interrupt.h>
> #include <linux/io.h>
> #include <linux/delay.h>
> @@ -30,7 +32,6 @@
> #include <linux/spi/mmc_spi.h>
> #include <linux/input.h>
> #include <linux/input/sh_keysc.h>
> -#include <linux/platform_data/gpio_backlight.h>
> #include <linux/sh_eth.h>
> #include <linux/sh_intc.h>
> #include <linux/videodev2.h>
> @@ -367,17 +368,21 @@ static struct platform_device lcdc_device = {
> },
> };
>
> -static struct gpio_backlight_platform_data gpio_backlight_data = {
> - .gpio = GPIO_PTR1,
> - .def_value = 1,
> - .name = "backlight",
> +static struct gpiod_lookup_table gpio_backlight_gpios_table = {
> + .dev_id = "gpio-backlight.0",
> + .table = {
> + GPIO_LOOKUP_IDX("sh7724_pfc", GPIO_PTR1, NULL, 0, GPIO_ACTIVE_HIGH);
> + { }
I understand this is an RFC, but this bit does not even compile.
../arch/sh/boards/mach-ecovec24/setup.c:374:70: error: expected '}'
before ';' token
Thanks
j
> + },
> +};
> +
> +static struct property_entry gpio_backlight_properties[] = {
> + PROPERTY_ENTRY_BOOL("default-on"),
> + { }
> };
>
> static struct platform_device gpio_backlight_device = {
> .name = "gpio-backlight",
> - .dev = {
> - .platform_data = &gpio_backlight_data,
> - },
> };
>
> /* CEU0 */
> @@ -1436,6 +1441,8 @@ static int __init arch_setup(void)
> return error;
>
> if (use_backlight) {
> + device_add_properties(&gpio_backlight_device.dev,
> + gpio_backlight_properties);
> error = platform_device_add(&gpio_backlight_device);
> if (error)
> pr_warn("%s: failed to register backlight: %d\n",
> --
> 2.16.2.804.g6dcf76e118-goog
>
Attachment:
signature.asc
Description: PGP signature