All of lore.kernel.org
 help / color / mirror / Atom feed
From: Hans de Goede <hdegoede@redhat.com>
To: "Thomas Weißschuh" <linux@weissschuh.net>, linux-input@vger.kernel.org
Cc: linux-kernel@vger.kernel.org, linux-kbuild@vger.kernel.org,
	Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>,
	Jiri Kosina <jkosina@suse.cz>,
	Benjamin Tissoires <benjamin.tissoires@redhat.com>,
	Masahiro Yamada <masahiroy@kernel.org>,
	Michal Marek <michal.lkml@markovi.net>,
	Nick Desaulniers <ndesaulniers@google.com>
Subject: Re: [PATCH 1/6] HID: intel-ish-hid: add support for MODULE_DEVICE_TABLE()
Date: Mon, 1 Nov 2021 10:58:56 +0100	[thread overview]
Message-ID: <cd712bd7-cce7-58fb-d644-ced4fc0c76b1@redhat.com> (raw)
In-Reply-To: <20211029152901.297939-2-linux@weissschuh.net>

Hi,

On 10/29/21 17:28, Thomas Weißschuh wrote:
> This allows to selectively autoload drivers for ISH devices.
> Currently all ISH drivers are loaded for all systems having any ISH
> device.
> 
> Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
> 
> ---
> 
> Cc: linux-kbuild@vger.kernel.org
> Cc: linux-input@vger.kernel.org
> Cc: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
> Cc: Jiri Kosina <jkosina@suse.cz>
> Cc: Benjamin Tissoires <benjamin.tissoires@redhat.com>
> Cc: Hans de Goede <hdegoede@redhat.com>
> Cc: Masahiro Yamada <masahiroy@kernel.org>
> Cc: Michal Marek <michal.lkml@markovi.net>
> Cc: Nick Desaulniers <ndesaulniers@google.com>
> ---
>  include/linux/mod_devicetable.h   | 13 +++++++++++++
>  scripts/mod/devicetable-offsets.c |  3 +++
>  scripts/mod/file2alias.c          | 24 ++++++++++++++++++++++++
>  3 files changed, 40 insertions(+)
> 
> diff --git a/include/linux/mod_devicetable.h b/include/linux/mod_devicetable.h
> index ae2e75d15b21..befbf53c4b7c 100644
> --- a/include/linux/mod_devicetable.h
> +++ b/include/linux/mod_devicetable.h
> @@ -895,4 +895,17 @@ struct dfl_device_id {
>  	kernel_ulong_t driver_data;
>  };
>  
> +/* ISHTP (Integrated Sensor Hub Transport Protocol) */
> +
> +#define ISHTP_MODULE_PREFIX	"ishtp:"
> +
> +/**
> + * struct ishtp_device_id - ISHTP device identifier
> + * @guid_string: 36 char string of the form fa50ff2b-f2e8-45de-83fa-65417f2f49ba
> + * @context: pointer to driver specific data
> + */
> +struct ishtp_device_id {
> +	guid_t guid;

The kdoc comment documents a context pointer, but this is missing from the
actual struct. Having some sort of driver_data (1) field here would be good IMHO.

Regards,

Hans

1) "context" is fine, but AFAIK almost all other foo_device_id structs call this
driver_data, so that would be more consistent IMHO.


> +};
> +
>  #endif /* LINUX_MOD_DEVICETABLE_H */
> diff --git a/scripts/mod/devicetable-offsets.c b/scripts/mod/devicetable-offsets.c
> index cc3625617a0e..c0d3bcb99138 100644
> --- a/scripts/mod/devicetable-offsets.c
> +++ b/scripts/mod/devicetable-offsets.c
> @@ -259,5 +259,8 @@ int main(void)
>  	DEVID_FIELD(dfl_device_id, type);
>  	DEVID_FIELD(dfl_device_id, feature_id);
>  
> +	DEVID(ishtp_device_id);
> +	DEVID_FIELD(ishtp_device_id, guid);
> +
>  	return 0;
>  }
> diff --git a/scripts/mod/file2alias.c b/scripts/mod/file2alias.c
> index 49aba862073e..5258247d78ac 100644
> --- a/scripts/mod/file2alias.c
> +++ b/scripts/mod/file2alias.c
> @@ -115,6 +115,17 @@ static inline void add_uuid(char *str, uuid_le uuid)
>  		uuid.b[12], uuid.b[13], uuid.b[14], uuid.b[15]);
>  }
>  
> +static inline void add_guid(char *str, guid_t guid)
> +{
> +	int len = strlen(str);
> +
> +	sprintf(str + len, "%02X%02X%02X%02X-%02X%02X-%02X%02X-%02X%02X-%02X%02X%02X%02X%02X%02X",
> +		guid.b[3], guid.b[2], guid.b[1], guid.b[0],
> +		guid.b[5], guid.b[4], guid.b[7], guid.b[6],
> +		guid.b[8], guid.b[9], guid.b[10], guid.b[11],
> +		guid.b[12], guid.b[13], guid.b[14], guid.b[15]);
> +}
> +
>  /**
>   * Check that sizeof(device_id type) are consistent with size of section
>   * in .o file. If in-consistent then userspace and kernel does not agree
> @@ -1380,6 +1391,18 @@ static int do_mhi_entry(const char *filename, void *symval, char *alias)
>  	return 1;
>  }
>  
> +/* Looks like: ishtp:{guid} */
> +static int do_ishtp_entry(const char *filename, void *symval, char *alias)
> +{
> +	DEF_FIELD(symval, ishtp_device_id, guid);
> +
> +	strcpy(alias, ISHTP_MODULE_PREFIX "{");
> +	add_guid(alias, guid);
> +	strcat(alias, "}");
> +
> +	return 1;
> +}
> +
>  static int do_auxiliary_entry(const char *filename, void *symval, char *alias)
>  {
>  	DEF_FIELD_ADDR(symval, auxiliary_device_id, name);
> @@ -1499,6 +1522,7 @@ static const struct devtable devtable[] = {
>  	{"auxiliary", SIZE_auxiliary_device_id, do_auxiliary_entry},
>  	{"ssam", SIZE_ssam_device_id, do_ssam_entry},
>  	{"dfl", SIZE_dfl_device_id, do_dfl_entry},
> +	{"ishtp", SIZE_ishtp_device_id, do_ishtp_entry},
>  };
>  
>  /* Create MODULE_ALIAS() statements.
> 


  parent reply	other threads:[~2021-11-01  9:59 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-29 15:28 [PATCH 0/6] MODULE_DEVICE_TABLE() support for the ISHTP bus Thomas Weißschuh
2021-10-29 15:28 ` [PATCH 1/6] HID: intel-ish-hid: add support for MODULE_DEVICE_TABLE() Thomas Weißschuh
2021-10-29 15:28   ` [PATCH 2/6] HID: intel-ish-hid: use constants for modaliases Thomas Weißschuh
2021-10-29 15:28     ` [PATCH 3/6] HID: intel-ish-hid: fw-loader: only load for matching devices Thomas Weißschuh
2021-10-29 15:28       ` [PATCH 4/6] HID: intel-ish-hid: hid-client: " Thomas Weißschuh
2021-10-29 15:29         ` [PATCH 5/6] platform/chrome: chros_ec_ishtp: " Thomas Weißschuh
2021-10-29 15:29           ` [PATCH 6/6] platform/x86: isthp_eclite: " Thomas Weißschuh
2021-10-29 15:29             ` Thomas Weißschuh
2021-11-01  9:59             ` Hans de Goede
2021-11-10 16:44           ` [PATCH 5/6] platform/chrome: chros_ec_ishtp: " Nathan Chancellor
2021-11-10 23:00             ` [PATCH 1/4] HID: intel-ish-hid: fw-loader: constify devicetable initializer Thomas Weißschuh
2021-11-11  9:10               ` Thomas Weißschuh
2021-11-10 23:00             ` [PATCH 2/4] HID: intel-ish-hid: hid-client: " Thomas Weißschuh
2021-11-10 23:00             ` [PATCH 3/4] platform/chrome: chros_ec_ishtp: " Thomas Weißschuh
2021-11-10 23:00             ` [PATCH 4/4] platform/x86: isthp_eclite: " Thomas Weißschuh
2021-11-01  9:58   ` Hans de Goede [this message]
2021-11-01 10:09     ` [PATCH 1/6] HID: intel-ish-hid: add support for MODULE_DEVICE_TABLE() Thomas Weißschuh
2021-11-01 10:15       ` Hans de Goede
2021-11-01  9:56 ` [PATCH 0/6] MODULE_DEVICE_TABLE() support for the ISHTP bus Hans de Goede
2021-11-01 10:12   ` Thomas Weißschuh
2021-11-01 10:17     ` Hans de Goede
2021-11-02 11:50       ` Jiri Kosina
2021-11-02 13:17         ` Srinivas Pandruvada
2021-11-09 10:42 ` Jiri Kosina

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=cd712bd7-cce7-58fb-d644-ced4fc0c76b1@redhat.com \
    --to=hdegoede@redhat.com \
    --cc=benjamin.tissoires@redhat.com \
    --cc=jkosina@suse.cz \
    --cc=linux-input@vger.kernel.org \
    --cc=linux-kbuild@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@weissschuh.net \
    --cc=masahiroy@kernel.org \
    --cc=michal.lkml@markovi.net \
    --cc=ndesaulniers@google.com \
    --cc=srinivas.pandruvada@linux.intel.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.