Linux GPIO subsystem development
 help / color / mirror / Atom feed
From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
To: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
Cc: Linus Walleij <linusw@kernel.org>,
	 Bartosz Golaszewski <brgl@kernel.org>,
	Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>,
	 Mark Brown <broonie@kernel.org>,
	jacopo mondi <jacopo@jmondi.org>,
	linux-sh@vger.kernel.org,  linux-kernel@vger.kernel.org,
	linux-gpio@vger.kernel.org,
	 Yoshinori Sato <ysato@users.sourceforge.jp>,
	Rich Felker <dalias@libc.org>
Subject: Re: [RESEND PATCH] sh: ecovec24: use static device properties to describe the touchscreen
Date: Wed, 9 Sep 2026 10:29:38 -0700	[thread overview]
Message-ID: <aqGXSGr87b3NPDBI@google.com> (raw)
In-Reply-To: <alUyZ2zVWCPhyHHX@google.com>

On Mon, Jul 13, 2026 at 02:41:31PM -0700, Dmitry Torokhov wrote:
> Convert the board to use static device properties instead of platform
> data to describe the touchscreen, so that support for platform data can
> be removed from tsc2007 driver (ecovec24 is the last board using this
> mechanism of describing tsc2007).
> 
> Device properties do not allow custom board methods, so the method for
> getting "pen down" state was removed (the driver is capable of working
> without it). If this functionality is needed proper pin control/gpio
> support needs to be implemented so that the same pin can serve as an
> input GPIO and an interrupt.
> 
> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
> ---
> 
> This is a resend of the patch I sent in August of 2024. My fault of not
> noticing reply from Adrian inquiring about potential negative impact
> from not having GPIO-based "pen down" detection. I believe this is fine,
> the "pen down" is an optional feature and the driver can detect the
> touches even when it is not specified. Additionally, this is an
> evaluation board, so user impact should be negligible.
> 
> However the bigger question is whether ecovec24 board still relevant.
> According to my research it has the following regressions currently
> unfixed:
> 
> 5716fb9bd9c6 ("mmc: spi: Convert to use GPIO descriptors")
>   - MMC SPI device naming broken (broke SD fallback mode)
> 
> 9fda6693335c ("spi: sh-msiof: Convert to use GPIO descriptors")
>   - SPI CS polarity inverted (broke initialization on the MSIOF0 SPI bus)
> 
> c2f9b05fd5c1 ("media: arch: sh: ecovec: Use new renesas-ceu camera driver")
>   - Camera array sentinel missing (causes out-of-bounds reads and
>     potentially kernel panics)
>   - Camera standby polarity inverted (enadvertently keeps cameras
>     permanently powered off)
>   - Camera disabled iby default (board defconfig points to a deleted
>     driver)
> 
> They are ~6 years old, so I wonder: do people actually *actively* use
> this board with modern kernels? Should it simply be removed?

John, gentle ping...

> 
> Thanks!
> 
>  arch/sh/boards/mach-ecovec24/setup.c | 38 ++++++++--------------------
>  1 file changed, 11 insertions(+), 27 deletions(-)
> 
> diff --git a/arch/sh/boards/mach-ecovec24/setup.c b/arch/sh/boards/mach-ecovec24/setup.c
> index a641e26f8fdf..110a77f903b5 100644
> --- a/arch/sh/boards/mach-ecovec24/setup.c
> +++ b/arch/sh/boards/mach-ecovec24/setup.c
> @@ -26,6 +26,7 @@
>  #include <linux/platform_data/tmio.h>
>  #include <linux/platform_data/tsc2007.h>
>  #include <linux/platform_device.h>
> +#include <linux/property.h>
>  #include <linux/regulator/fixed.h>
>  #include <linux/regulator/machine.h>
>  #include <linux/sh_eth.h>
> @@ -589,39 +590,21 @@ static struct platform_device keysc_device = {
>  /* TouchScreen */
>  #define IRQ0 evt2irq(0x600)
>  
> -static int ts_get_pendown_state(struct device *dev)
> -{
> -	int val = 0;
> -	gpio_free(GPIO_FN_INTC_IRQ0);
> -	gpio_request(GPIO_PTZ0, NULL);
> -	gpio_direction_input(GPIO_PTZ0);
> -
> -	val = gpio_get_value(GPIO_PTZ0);
> -
> -	gpio_free(GPIO_PTZ0);
> -	gpio_request(GPIO_FN_INTC_IRQ0, NULL);
> -
> -	return val ? 0 : 1;
> -}
> -
> -static int ts_init(void)
> -{
> -	gpio_request(GPIO_FN_INTC_IRQ0, NULL);
> -	return 0;
> -}
> +static const struct property_entry tsc2007_properties[] = {
> +	PROPERTY_ENTRY_U32("ti,x-plate-ohms", 180),
> +	{ }
> +};
>  
> -static struct tsc2007_platform_data tsc2007_info = {
> -	.model			= 2007,
> -	.x_plate_ohms		= 180,
> -	.get_pendown_state	= ts_get_pendown_state,
> -	.init_platform_hw	= ts_init,
> +static const struct software_node tsc2007_swnode = {
> +	.name = "tsc2007",
> +	.properties = tsc2007_properties,
>  };
>  
>  static struct i2c_board_info ts_i2c_clients = {
>  	I2C_BOARD_INFO("tsc2007", 0x48),
>  	.type		= "tsc2007",
> -	.platform_data	= &tsc2007_info,
>  	.irq		= IRQ0,
> +	.swnode		= &tsc2007_swnode,
>  };
>  
>  static struct regulator_consumer_supply cn12_power_consumers[] =
> @@ -1242,8 +1225,9 @@ static int __init arch_setup(void)
>  		gpio_direction_output(GPIO_PTF4, 1);
>  
>  		/* enable TouchScreen */
> -		i2c_register_board_info(0, &ts_i2c_clients, 1);
> +		gpio_request(GPIO_FN_INTC_IRQ0, NULL);
>  		irq_set_irq_type(IRQ0, IRQ_TYPE_LEVEL_LOW);
> +		i2c_register_board_info(0, &ts_i2c_clients, 1);
>  	}
>  
>  	/* enable CEU0 */
> -- 
> 2.55.0.795.g602f6c329a-goog
> 
> 

-- 
Dmitry

  reply	other threads:[~2026-09-09 17:29 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-13 21:41 [RESEND PATCH] sh: ecovec24: use static device properties to describe the touchscreen Dmitry Torokhov
2026-09-09 17:29 ` Dmitry Torokhov [this message]
2026-09-10  7:24 ` Bartosz Golaszewski

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=aqGXSGr87b3NPDBI@google.com \
    --to=dmitry.torokhov@gmail.com \
    --cc=brgl@kernel.org \
    --cc=broonie@kernel.org \
    --cc=dalias@libc.org \
    --cc=glaubitz@physik.fu-berlin.de \
    --cc=jacopo@jmondi.org \
    --cc=kuninori.morimoto.gx@renesas.com \
    --cc=linusw@kernel.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-sh@vger.kernel.org \
    --cc=ysato@users.sourceforge.jp \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox