diff mbox series

platform/x86: touchscreen_dmi: Add info for the Archos 101 Cesium Educ tablet

Message ID 20230707141425.21473-1-tomlohave@gmail.com (mailing list archive)
State Accepted, archived
Headers show
Series platform/x86: touchscreen_dmi: Add info for the Archos 101 Cesium Educ tablet | expand

Commit Message

Thomas GENTY July 7, 2023, 2:14 p.m. UTC
Add info for the Archos 101 Cesium Educ tablet
It was tested using gslx680_ts_acpi module
PR at https://github.com/onitake/gsl-firmware/pull/210 for the firmware

Signed-off-by: Thomas GENTY <tomlohave@gmail.com>
---
 drivers/platform/x86/touchscreen_dmi.c | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

Comments

Hans de Goede July 11, 2023, 10:14 a.m. UTC | #1
Hi,

On 7/7/23 16:14, Thomas GENTY wrote:
> Add info for the Archos 101 Cesium Educ tablet
> It was tested using gslx680_ts_acpi module
> PR at https://github.com/onitake/gsl-firmware/pull/210 for the firmware
> 
> Signed-off-by: Thomas GENTY <tomlohave@gmail.com>

Thank you for your patch, I've applied this patch to my fixes
branch:
https://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86.git/log/?h=fixes

Note it will show up in my fixes branch once I've pushed my
local branch there, which might take a while.

I will include this patch in my next fixes pull-req to Linus
for the current kernel development cycle.

Note I do wonder if this tablet can benefit from then following change on top when used with the kernel's builtin silead driver:

diff --git a/drivers/platform/x86/touchscreen_dmi.c b/drivers/platform/x86/touchscreen_dmi.c
index a5b687eed8f3..5f9ce4960861 100644
--- a/drivers/platform/x86/touchscreen_dmi.c
+++ b/drivers/platform/x86/touchscreen_dmi.c
@@ -32,6 +32,7 @@ static const struct property_entry archos_101_cesium_educ_props[] = {
 	PROPERTY_ENTRY_BOOL("touchscreen-inverted-x"),
 	PROPERTY_ENTRY_BOOL("touchscreen-swapped-x-y"),
 	PROPERTY_ENTRY_U32("silead,max-fingers", 10),
+	PROPERTY_ENTRY_BOOL("silead,home-button"),
 	PROPERTY_ENTRY_STRING("firmware-name", "gsl1680-archos-101-cesium-educ.fw"),
 	{ }
 };

I expect this will make the windows logo beneath the touchscreen send meta/super key events when pressed (you can check this with e.g. evtest).

Can you please give this a go ?

Regards,

Hans




> ---
>  drivers/platform/x86/touchscreen_dmi.c | 22 ++++++++++++++++++++++
>  1 file changed, 22 insertions(+)
> 
> diff --git a/drivers/platform/x86/touchscreen_dmi.c b/drivers/platform/x86/touchscreen_dmi.c
> index 68e66b60445c..a5b687eed8f3 100644
> --- a/drivers/platform/x86/touchscreen_dmi.c
> +++ b/drivers/platform/x86/touchscreen_dmi.c
> @@ -26,6 +26,21 @@ struct ts_dmi_data {
>  
>  /* NOTE: Please keep all entries sorted alphabetically */
>  
> +static const struct property_entry archos_101_cesium_educ_props[] = {
> +	PROPERTY_ENTRY_U32("touchscreen-size-x", 1280),
> +	PROPERTY_ENTRY_U32("touchscreen-size-y", 1850),
> +	PROPERTY_ENTRY_BOOL("touchscreen-inverted-x"),
> +	PROPERTY_ENTRY_BOOL("touchscreen-swapped-x-y"),
> +	PROPERTY_ENTRY_U32("silead,max-fingers", 10),
> +	PROPERTY_ENTRY_STRING("firmware-name", "gsl1680-archos-101-cesium-educ.fw"),
> +	{ }
> +};
> +
> +static const struct ts_dmi_data archos_101_cesium_educ_data = {
> +	.acpi_name      = "MSSL1680:00",
> +	.properties     = archos_101_cesium_educ_props,
> +};
> +
>  static const struct property_entry chuwi_hi8_props[] = {
>  	PROPERTY_ENTRY_U32("touchscreen-size-x", 1665),
>  	PROPERTY_ENTRY_U32("touchscreen-size-y", 1140),
> @@ -1047,6 +1062,13 @@ static const struct ts_dmi_data vinga_twizzle_j116_data = {
>  
>  /* NOTE: Please keep this table sorted alphabetically */
>  const struct dmi_system_id touchscreen_dmi_table[] = {
> +	{
> +		/* Archos 101 Cesium Educ */
> +		.driver_data = (void *)&archos_101_cesium_educ_data,
> +		.matches = {
> +			DMI_MATCH(DMI_PRODUCT_NAME, "ARCHOS 101 Cesium Educ"),
> +		},
> +	},
>  	{
>  		/* Chuwi Hi8 */
>  		.driver_data = (void *)&chuwi_hi8_data,
Thomas GENTY July 14, 2023, 7:53 a.m. UTC | #2
Le 11/07/2023 à 12:14, Hans de Goede a écrit :
Hi,
> Hi,
>
> On 7/7/23 16:14, Thomas GENTY wrote:
>> Add info for the Archos 101 Cesium Educ tablet
>> It was tested using gslx680_ts_acpi module
>> PR at https://github.com/onitake/gsl-firmware/pull/210 for the firmware
>>
>> Signed-off-by: Thomas GENTY <tomlohave@gmail.com>
> Thank you for your patch, I've applied this patch to my fixes
> branch:
> https://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86.git/log/?h=fixes
>
> Note it will show up in my fixes branch once I've pushed my
> local branch there, which might take a while.
>
> I will include this patch in my next fixes pull-req to Linus
> for the current kernel development cycle.
>
> Note I do wonder if this tablet can benefit from then following change on top when used with the kernel's builtin silead driver:

It can,

I will submit a new patch with this enable and correct the previous one. 
it seems I have inverted all axes

Regards,

Tom

>
> diff --git a/drivers/platform/x86/touchscreen_dmi.c b/drivers/platform/x86/touchscreen_dmi.c
> index a5b687eed8f3..5f9ce4960861 100644
> --- a/drivers/platform/x86/touchscreen_dmi.c
> +++ b/drivers/platform/x86/touchscreen_dmi.c
> @@ -32,6 +32,7 @@ static const struct property_entry archos_101_cesium_educ_props[] = {
>   	PROPERTY_ENTRY_BOOL("touchscreen-inverted-x"),
>   	PROPERTY_ENTRY_BOOL("touchscreen-swapped-x-y"),
>   	PROPERTY_ENTRY_U32("silead,max-fingers", 10),
> +	PROPERTY_ENTRY_BOOL("silead,home-button"),
>   	PROPERTY_ENTRY_STRING("firmware-name", "gsl1680-archos-101-cesium-educ.fw"),
>   	{ }
>   };
>
> I expect this will make the windows logo beneath the touchscreen send meta/super key events when pressed (you can check this with e.g. evtest).
>
> Can you please give this a go ?
>
> Regards,
>
> Hans
>
>
>
>
>> ---
>>   drivers/platform/x86/touchscreen_dmi.c | 22 ++++++++++++++++++++++
>>   1 file changed, 22 insertions(+)
>>
>> diff --git a/drivers/platform/x86/touchscreen_dmi.c b/drivers/platform/x86/touchscreen_dmi.c
>> index 68e66b60445c..a5b687eed8f3 100644
>> --- a/drivers/platform/x86/touchscreen_dmi.c
>> +++ b/drivers/platform/x86/touchscreen_dmi.c
>> @@ -26,6 +26,21 @@ struct ts_dmi_data {
>>   
>>   /* NOTE: Please keep all entries sorted alphabetically */
>>   
>> +static const struct property_entry archos_101_cesium_educ_props[] = {
>> +	PROPERTY_ENTRY_U32("touchscreen-size-x", 1280),
>> +	PROPERTY_ENTRY_U32("touchscreen-size-y", 1850),
>> +	PROPERTY_ENTRY_BOOL("touchscreen-inverted-x"),
>> +	PROPERTY_ENTRY_BOOL("touchscreen-swapped-x-y"),
>> +	PROPERTY_ENTRY_U32("silead,max-fingers", 10),
>> +	PROPERTY_ENTRY_STRING("firmware-name", "gsl1680-archos-101-cesium-educ.fw"),
>> +	{ }
>> +};
>> +
>> +static const struct ts_dmi_data archos_101_cesium_educ_data = {
>> +	.acpi_name      = "MSSL1680:00",
>> +	.properties     = archos_101_cesium_educ_props,
>> +};
>> +
>>   static const struct property_entry chuwi_hi8_props[] = {
>>   	PROPERTY_ENTRY_U32("touchscreen-size-x", 1665),
>>   	PROPERTY_ENTRY_U32("touchscreen-size-y", 1140),
>> @@ -1047,6 +1062,13 @@ static const struct ts_dmi_data vinga_twizzle_j116_data = {
>>   
>>   /* NOTE: Please keep this table sorted alphabetically */
>>   const struct dmi_system_id touchscreen_dmi_table[] = {
>> +	{
>> +		/* Archos 101 Cesium Educ */
>> +		.driver_data = (void *)&archos_101_cesium_educ_data,
>> +		.matches = {
>> +			DMI_MATCH(DMI_PRODUCT_NAME, "ARCHOS 101 Cesium Educ"),
>> +		},
>> +	},
>>   	{
>>   		/* Chuwi Hi8 */
>>   		.driver_data = (void *)&chuwi_hi8_data,
Hans de Goede July 14, 2023, 9:11 a.m. UTC | #3
Hi,

On 7/14/23 09:53, tomlohave@gmail.com wrote:
> Le 11/07/2023 à 12:14, Hans de Goede a écrit :
> Hi,
>> Hi,
>>
>> On 7/7/23 16:14, Thomas GENTY wrote:
>>> Add info for the Archos 101 Cesium Educ tablet
>>> It was tested using gslx680_ts_acpi module
>>> PR at https://github.com/onitake/gsl-firmware/pull/210 for the firmware
>>>
>>> Signed-off-by: Thomas GENTY <tomlohave@gmail.com>
>> Thank you for your patch, I've applied this patch to my fixes
>> branch:
>> https://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86.git/log/?h=fixes
>>
>> Note it will show up in my fixes branch once I've pushed my
>> local branch there, which might take a while.
>>
>> I will include this patch in my next fixes pull-req to Linus
>> for the current kernel development cycle.
>>
>> Note I do wonder if this tablet can benefit from then following change on top when used with the kernel's builtin silead driver:
> 
> It can,

Good.

> I will submit a new patch with this enable and correct the previous one. it seems I have inverted all axes

I have already send out this one to Linus and it already is in Linus' master branch:

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/log/drivers/platform/x86/touchscreen_dmi.c

So please make the new patch a follow-up patch. I'll make sure that the follow-up
also gets sends to Linus before 6.5 gets released.

Regards,

Hans



>> diff --git a/drivers/platform/x86/touchscreen_dmi.c b/drivers/platform/x86/touchscreen_dmi.c
>> index a5b687eed8f3..5f9ce4960861 100644
>> --- a/drivers/platform/x86/touchscreen_dmi.c
>> +++ b/drivers/platform/x86/touchscreen_dmi.c
>> @@ -32,6 +32,7 @@ static const struct property_entry archos_101_cesium_educ_props[] = {
>>       PROPERTY_ENTRY_BOOL("touchscreen-inverted-x"),
>>       PROPERTY_ENTRY_BOOL("touchscreen-swapped-x-y"),
>>       PROPERTY_ENTRY_U32("silead,max-fingers", 10),
>> +    PROPERTY_ENTRY_BOOL("silead,home-button"),
>>       PROPERTY_ENTRY_STRING("firmware-name", "gsl1680-archos-101-cesium-educ.fw"),
>>       { }
>>   };
>>
>> I expect this will make the windows logo beneath the touchscreen send meta/super key events when pressed (you can check this with e.g. evtest).
>>
>> Can you please give this a go ?
>>
>> Regards,
>>
>> Hans
>>
>>
>>
>>
>>> ---
>>>   drivers/platform/x86/touchscreen_dmi.c | 22 ++++++++++++++++++++++
>>>   1 file changed, 22 insertions(+)
>>>
>>> diff --git a/drivers/platform/x86/touchscreen_dmi.c b/drivers/platform/x86/touchscreen_dmi.c
>>> index 68e66b60445c..a5b687eed8f3 100644
>>> --- a/drivers/platform/x86/touchscreen_dmi.c
>>> +++ b/drivers/platform/x86/touchscreen_dmi.c
>>> @@ -26,6 +26,21 @@ struct ts_dmi_data {
>>>     /* NOTE: Please keep all entries sorted alphabetically */
>>>   +static const struct property_entry archos_101_cesium_educ_props[] = {
>>> +    PROPERTY_ENTRY_U32("touchscreen-size-x", 1280),
>>> +    PROPERTY_ENTRY_U32("touchscreen-size-y", 1850),
>>> +    PROPERTY_ENTRY_BOOL("touchscreen-inverted-x"),
>>> +    PROPERTY_ENTRY_BOOL("touchscreen-swapped-x-y"),
>>> +    PROPERTY_ENTRY_U32("silead,max-fingers", 10),
>>> +    PROPERTY_ENTRY_STRING("firmware-name", "gsl1680-archos-101-cesium-educ.fw"),
>>> +    { }
>>> +};
>>> +
>>> +static const struct ts_dmi_data archos_101_cesium_educ_data = {
>>> +    .acpi_name      = "MSSL1680:00",
>>> +    .properties     = archos_101_cesium_educ_props,
>>> +};
>>> +
>>>   static const struct property_entry chuwi_hi8_props[] = {
>>>       PROPERTY_ENTRY_U32("touchscreen-size-x", 1665),
>>>       PROPERTY_ENTRY_U32("touchscreen-size-y", 1140),
>>> @@ -1047,6 +1062,13 @@ static const struct ts_dmi_data vinga_twizzle_j116_data = {
>>>     /* NOTE: Please keep this table sorted alphabetically */
>>>   const struct dmi_system_id touchscreen_dmi_table[] = {
>>> +    {
>>> +        /* Archos 101 Cesium Educ */
>>> +        .driver_data = (void *)&archos_101_cesium_educ_data,
>>> +        .matches = {
>>> +            DMI_MATCH(DMI_PRODUCT_NAME, "ARCHOS 101 Cesium Educ"),
>>> +        },
>>> +    },
>>>       {
>>>           /* Chuwi Hi8 */
>>>           .driver_data = (void *)&chuwi_hi8_data,
> 
>
diff mbox series

Patch

diff --git a/drivers/platform/x86/touchscreen_dmi.c b/drivers/platform/x86/touchscreen_dmi.c
index 68e66b60445c..a5b687eed8f3 100644
--- a/drivers/platform/x86/touchscreen_dmi.c
+++ b/drivers/platform/x86/touchscreen_dmi.c
@@ -26,6 +26,21 @@  struct ts_dmi_data {
 
 /* NOTE: Please keep all entries sorted alphabetically */
 
+static const struct property_entry archos_101_cesium_educ_props[] = {
+	PROPERTY_ENTRY_U32("touchscreen-size-x", 1280),
+	PROPERTY_ENTRY_U32("touchscreen-size-y", 1850),
+	PROPERTY_ENTRY_BOOL("touchscreen-inverted-x"),
+	PROPERTY_ENTRY_BOOL("touchscreen-swapped-x-y"),
+	PROPERTY_ENTRY_U32("silead,max-fingers", 10),
+	PROPERTY_ENTRY_STRING("firmware-name", "gsl1680-archos-101-cesium-educ.fw"),
+	{ }
+};
+
+static const struct ts_dmi_data archos_101_cesium_educ_data = {
+	.acpi_name      = "MSSL1680:00",
+	.properties     = archos_101_cesium_educ_props,
+};
+
 static const struct property_entry chuwi_hi8_props[] = {
 	PROPERTY_ENTRY_U32("touchscreen-size-x", 1665),
 	PROPERTY_ENTRY_U32("touchscreen-size-y", 1140),
@@ -1047,6 +1062,13 @@  static const struct ts_dmi_data vinga_twizzle_j116_data = {
 
 /* NOTE: Please keep this table sorted alphabetically */
 const struct dmi_system_id touchscreen_dmi_table[] = {
+	{
+		/* Archos 101 Cesium Educ */
+		.driver_data = (void *)&archos_101_cesium_educ_data,
+		.matches = {
+			DMI_MATCH(DMI_PRODUCT_NAME, "ARCHOS 101 Cesium Educ"),
+		},
+	},
 	{
 		/* Chuwi Hi8 */
 		.driver_data = (void *)&chuwi_hi8_data,