From 802c8efc2babd56368aacfeef80eb045d49cd4fc Mon Sep 17 00:00:00 2001 From: Russell King Date: Sat, 24 Sep 2016 23:38:59 +0100 Subject: module: add iPAQ sleeve device table and module alias support Add support for iPAQ sleeve device table and module alias support, so that sleeve drivers can be automatically modprobed into the kernel at run time. Signed-off-by: Russell King --- scripts/mod/devicetable-offsets.c | 4 ++++ scripts/mod/file2alias.c | 11 +++++++++++ 2 files changed, 15 insertions(+) (limited to 'scripts') diff --git a/scripts/mod/devicetable-offsets.c b/scripts/mod/devicetable-offsets.c index e91a3c38143b..0dc91c57aa54 100644 --- a/scripts/mod/devicetable-offsets.c +++ b/scripts/mod/devicetable-offsets.c @@ -178,6 +178,10 @@ int main(void) DEVID_FIELD(ipack_device_id, vendor); DEVID_FIELD(ipack_device_id, device); + DEVID(ipaq_option_id); + DEVID_FIELD(ipaq_option_id, vendor); + DEVID_FIELD(ipaq_option_id, device); + DEVID(amba_id); DEVID_FIELD(amba_id, id); DEVID_FIELD(amba_id, mask); diff --git a/scripts/mod/file2alias.c b/scripts/mod/file2alias.c index 4829680a0a6d..257d095e6c3a 100644 --- a/scripts/mod/file2alias.c +++ b/scripts/mod/file2alias.c @@ -1140,6 +1140,16 @@ static void append_nibble_mask(char **outp, *outp = p; } +/* Looks like: ipaq:vNdN */ +static int do_ipaq_entry(const char *filename, void *symval, char *alias) +{ + DEF_FIELD(symval, ipaq_option_id, vendor); + DEF_FIELD(symval, ipaq_option_id, device); + + sprintf(alias, "ipaq:v%04Xd%04X", vendor, device); + return 1; +} + /* * looks like: "amba:dN" * @@ -1553,6 +1563,7 @@ static const struct devtable devtable[] = { {"zorro", SIZE_zorro_device_id, do_zorro_entry}, {"isapnp", SIZE_isapnp_device_id, do_isapnp_entry}, {"ipack", SIZE_ipack_device_id, do_ipack_entry}, + {"ipaq", SIZE_ipaq_option_id, do_ipaq_entry}, {"amba", SIZE_amba_id, do_amba_entry}, {"mipscdmm", SIZE_mips_cdmm_device_id, do_mips_cdmm_entry}, {"x86cpu", SIZE_x86_cpu_id, do_x86cpu_entry}, -- cgit