From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1750998AbcFVV6t (ORCPT ); Wed, 22 Jun 2016 17:58:49 -0400 Received: from mail-bn1bon0087.outbound.protection.outlook.com ([157.56.111.87]:31750 "EHLO na01-bn1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1750799AbcFVV6r (ORCPT ); Wed, 22 Jun 2016 17:58:47 -0400 X-Greylist: delayed 886 seconds by postgrey-1.27 at vger.kernel.org; Wed, 22 Jun 2016 17:58:47 EDT Authentication-Results: spf=fail (sender IP is 192.88.168.50) smtp.mailfrom=nxp.com; nxp.com; dkim=none (message not signed) header.d=none;nxp.com; dmarc=none action=none header.from=nxp.com;nxp.com; dkim=none (message not signed) header.d=none; From: Stuart Yoder To: CC: , , , , , , Stuart Yoder Subject: [PATCH 04/11] staging: fsl-mc: add support for device table matching Date: Wed, 22 Jun 2016 16:40:45 -0500 Message-ID: <1466631652-25731-5-git-send-email-stuart.yoder@nxp.com> X-Mailer: git-send-email 1.9.0 In-Reply-To: <1466631652-25731-1-git-send-email-stuart.yoder@nxp.com> References: <1466631652-25731-1-git-send-email-stuart.yoder@nxp.com> X-EOPAttributedMessage: 0 X-Matching-Connectors: 131111054582558543;(91ab9b29-cfa4-454e-5278-08d120cd25b8);() X-Forefront-Antispam-Report: CIP:192.88.168.50;IPV:NLI;CTRY:US;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(7916002)(2980300002)(1109001)(1110001)(339900001)(199003)(189002)(33646002)(575784001)(86362001)(110136002)(81166006)(189998001)(85426001)(104016004)(8676002)(6806005)(68736007)(81156014)(305945005)(8666005)(586003)(19580395003)(48376002)(2950100001)(19580405001)(47776003)(356003)(4326007)(76176999)(87936001)(2906002)(50226002)(7846002)(8936002)(50466002)(50986999)(97736004)(106466001)(77096005)(92566002)(5003940100001)(36756003)(105606002)(229853001)(2351001)(7059030);DIR:OUT;SFP:1101;SCL:1;SRVR:BY2PR0301MB1622;H:tx30smr01.am.freescale.net;FPR:;SPF:Fail;PTR:InfoDomainNonexistent;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;BN1AFFO11FD010;1:MMTV6w4LXRZGt+9gAD4iqsJ+bIuZtICuq0VzFwBAtwBSTezTxQCF9SiXOYMSNytuYFtaUXvJK+b3ijujNCLO0ibzyvMbyqFymzeWLXdahTid/ypY9LUsGuI0uvmWqtugd90qh54R4MccHzWgltxPM5zzYIFBgkQFlLufpyU6MhbGSIKT2d+NBL+kkg7Dv3vRUB84HssA2e6+NgYRuVW9pg5aQHLQctS5EyI9GJMmmkRt5SGlCs9ZEx674sMb8uywbUN8v1yYzaThtI691/kX6KuVNYdMmzvf2rRNyMxesyQiJ3Gr9+1JIPGv2MmhZekC6w3PK7Br445o9j0N8wKwyZTYjLs0i/mzPwTZzwCgGMb52HTNPTZAS7eFfCccH758lWKobEHBsWHD5djJI7qIj5OaGKB0E2hXSeMBSL10wBR59TI03eJEgNN5x/Dus27FbgCbDIvU1eYm2RaamVqi3iRkXY/ssPJd6BL+NCqlMsOKsARNMX2OcX/9STugz1OuI4KYaLN3LWbiw70zsSCpd0bAx+7rkdRvea68reSQ+6pNWBqmfc36dmRhCWsDtydVINvAGdbOd7awnj+xVz/l+YWrj7eVlHWFZ0azNDw5AUS8Cg/tfyqIakLZp4IZtt18yjcmQXaKmmUzd8QexYvmaYUQZStu9M4UxH4NJ3vpNfC14ubR7WIGqtrlSWkZ1Xfr MIME-Version: 1.0 Content-Type: text/plain X-MS-Office365-Filtering-Correlation-Id: 2cba95d6-880d-4b11-2f4f-08d39ae65cfc X-Microsoft-Exchange-Diagnostics: 1;BY2PR0301MB1622;2:amiV6ARqIoVvI1Qqxhb8T3asSVuTQde0c9uBVcqTxs3mmZvJ3OIMwrM71ottRmAKv+FWNHsWt50B2bzD683GZerHCBkUMuIDgv0g7Eq/Kp5sBBexlZN4WGCS/flTpS9994IfhF1iIo/0oB/ciOHi/d0bOxapBwss1k7CCDc1Aks74kiJDBxTbVNgNw9lbw5C;3:zs79R2MykkeyVbLccD25dI75DBJXXvU/FHw8EZWG5nwC9Wvqp7bhNbEEfh3ibIZDHMsaj6fEeaqNlVLg05iR8DsVXUk7ay4RTmOR5WxyX2EJoc2aeG0/k8Uz1DR4iVIO3H/xiD+YyuTvGPNy+TQLNUiRwJWThT4xwnSzpFXtmd4KVV8TxV8TrbUvV1nehgv6Je+EzPaLLWyxmLWSfWmPz/IvNxZFygWCKieuGmJwaUs= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BY2PR0301MB1622; X-Microsoft-Exchange-Diagnostics: 1;BY2PR0301MB1622;25:t5znABf0SLQF3kDukMV/jsfUe1Brl7Ljx4nHAHk3F2tnFl24mOBk3SK7NWTva2dzp8BDpaHn0mzp4vyg3HsLm2jbEu0t6LY2KpdaNRQ3rDI/8EeKEEzMlJUedQoRMtQu0jeoidojavTYqqjk/bYxUu1gy6F3pl1v1Vp8svFufqs3UDV6NGO3TnjOv6eXFvefySsroLGezyiHEs3CIgU+w0p7Rzi4SMVdebJjN+ebHT0PufciLi+JyYP+Xh2TEfROa9wB7xkxwZyvDYxR35/sPL0Cx9N5wF9qORxwk3hPaN0ZKqjVxxrMdh8gelFOBl/1DdOFl9nVHcOWfnaPAu9ukaVsB6cLkAVzCzVn55Hhkp5oJE/bN8FDlp9epRVFFhDhBu/4SIT0KzpOgBRNy1KJkEXnq6Aktve9v0sqDkA+T2YoQp40NlTDe0U4qLkblvBktSeaj4a4cOmvmanaZnT2x/2inZzQTpEhDSdveyY3kRxVytvWOVTBOaaQdnhcg+UspXtM/T7c/TxaBjsza0YrJXJwPhsRr9mtEDz/qoCaCkKY38ZeZ+sVmQwUvZKOT6o0rzf6WAURR77JQ1paJ1LVD5I/BrdmzVrXCffPndw+A6atoD2pQc9oHpLv1HRJ+8LHeS4zFAhNHzAaWWm1bvq/wvly2zKqOqTan0G4BMn87n9KNBsm1/kZkp20HCcxue8BKUcPGFz8KmskLyJ8b0B8wnj5IlElBWtFIaLnokkhQww= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(13018025)(13017025)(13024025)(13023025)(13015025)(5005006)(8121501046)(10201501046)(3002001)(6055026);SRVR:BY2PR0301MB1622;BCL:0;PCL:0;RULEID:(400006);SRVR:BY2PR0301MB1622; X-Microsoft-Exchange-Diagnostics: 1;BY2PR0301MB1622;4:ZepLKyLGSYKmwkWxIN5BHN4wGezZ/TIFiXoeyqPWtbLg2use4G9SODTN2EyTTR5RDatYREMjNokBAyh2j/+Dwz/8w48ThAxkwgXJEk+ok8/V7TGtv9IWO80Hr2G/WpKDhiUht9aynMlHkEKrMtzPveq8eC2aTwiDgdHcccnP1gysk0M9bvxlQCy2QBaSYPDBpDbIDRE5oR/DogkeMBv5Bis8NXDgFM8btlGZDxTf96hXKWvbC4KhAOyu+kzbSol9MoDLgjeK8s/WoajaswqzPI+as5D067+idoqfk3Ogd2kIQ79frVmpYjRE/FDy8AHT+1+O3P4I4tKVoo8UQURjGquQkYkaGjWSrdNp03xti/LCoHdYUr6vjfQ6mM6eNyRxzEXY6ptrFBPJzjOqvp+AcFFcY2K6XMeUJH7HtnMierJPxE1OdvukvT5RTxMeTxuqJOkAeU8oz2b6IGekERq/x/WCKAfv72Qsfyw73YWAAjx/BvkwSzd9Ak5I0pWlUTG+McoPcqXFVy7k08CV5CX+KA== X-Forefront-PRVS: 0981815F2F X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;BY2PR0301MB1622;23:ApEs87byBR9sU4ZPXlyakW3hlfMibnh5jYCezhq?= =?us-ascii?Q?WjkEd98aBChoRsjmPHSSyUqR3Bd+wPe8vhp0wWRCbtEMJCTUHDwDOBvoZHNq?= =?us-ascii?Q?uAcmJHoD5oLXjMr291LPdquuGGqcaFdHm1EQ/C+9ocAKYn/OCToRpPuoWJkj?= =?us-ascii?Q?V6MoNIfDuDivqoIraPHftc401fzCjDDeZi2bSdPSCykSgShYkVfATeTw0Fys?= =?us-ascii?Q?IiVBPeL8mKQr7neYdm1w8EI0i17B/fOJKfUMfkYMYqNzuGXHjR7QYqlJF4/A?= =?us-ascii?Q?LEUEgP6R1IT10h52QL48zzU25MFdpRjiCSK3uYbPz5qGEfJXExciycMcHHFD?= =?us-ascii?Q?gPWqOyeewKByPSjZWAx3JeXREBCN/qJNgSwXF8uMalrmvusXMmYYZ+/O4JcY?= =?us-ascii?Q?ZFH8hNfmild5xCsCasmZXWyLOAGzjiSv79MXBP90W89QCXe5ByfUiUXNYgLD?= =?us-ascii?Q?JmL7iHq6rg8aH3HrOf4kamGZ07qOivzSfPIzk//n41PbcnaPbk2vQw/l2FI/?= =?us-ascii?Q?xbZywW9sbjEzaGLEnFIfNyRt1s0UNNRHp/DgjHJhsNowKEcS3GYeca/evePN?= =?us-ascii?Q?l1M0kTkFAKJZiGNlezlFNi81XrS8KkxZ3y63QoXuZ7++o18loR0vWLJkRJ+O?= =?us-ascii?Q?ekP3H59TTIg84ttvmlnig6QiMLQGLrIp4NXEfBc+ZbVSUTDGNaZGugUXmH9Z?= =?us-ascii?Q?KE//aBHbWzj4jgpriHzhlbA33IXd8LC4hNkvKZRiqURuKj4exWiNOEUXX1QA?= =?us-ascii?Q?2Q/xhVz3S3Mdn8x/M6zCBx0HHtczzFh8VJtfsGPAFGvgUclcfUWDocZ96VuL?= =?us-ascii?Q?uM1vSW/vdrUpJ1Q19wmp+W8xER0924l54XWlhRAJYgllL+B/ZZtqOMu+MXOE?= =?us-ascii?Q?jPMxOXgHXdZjXY99wEkeB/XtmgJZbqHyoUOEvOHO4RRz67cTL9gimot+VG+5?= =?us-ascii?Q?bCMDLGc5mNZnRaPjGCgOpzl5xmUj6wcGxw6qU5PdhTpy2ZgRvg0wTiR75USS?= =?us-ascii?Q?PHGh3DzU8mCzjEd+D9XkJY+9jex9ZkqnTKSBYH3iTWzqKq3v+wdaQyWNL8QT?= =?us-ascii?Q?CnvaXYChlzYCvpvY1HUZ+WLUYF55Rd1s63PSzT32Ieoc8mO1lcPD4VXkbzNo?= =?us-ascii?Q?2Xch/OwYV48MbV5469SsqfieG1Bthzdv5?= X-Microsoft-Exchange-Diagnostics: 1;BY2PR0301MB1622;6:pBLcFsCVLvM/tt3tP1hX3TzzeibisEDXWMGxVmNQ0oWHNg5dW7Rb52uP5tqH9CS+7M0ix1/30JIand5YhSq0Q2vy9IZiUvb1ZG7r57bxn+CVK2x8nOvbHqnhkD9fStkvF9yTfjXNuC109TNn4H6BgwHM5k6BNIKoCts58gMNhjCTVq75oQi80Gv9JOyq04/pCUID8UflHurTUaVXLsfXlCa/yLZvvOAmYDEfal2mJL2t/wwtzrlOBWSOqCfKt0Mt6COGs/MGEU/aUTw0M0m8JlQkxxhutkhb0zxGF4mMoqCdY4BlorHvIcLqrFfA+7bv;5:nBlOuMzVv+NbcI+RFSuxXe6b2d62Y1mQ4+R+CFVxd0YIx5b22NiAmm7vYEwpbMrs97LSmFo97/60QwITrd4XwpPjYaiKe802xdjNohcFfpm4myUpNnEDDw5cqFYOOOLttko6WYYtPZxUieE7XMhzott9YS4qZOzZihRaIBkEQ3Y=;24:CGJmPU/KNT0faKTd8P879jZBdJtpxC0IvYBVijMro7ihDUJ68PWn2vwtk1zmQC5XdPLLdTawOMUjMvuOezecgEZLUqZhgMvwXWzdEKMwJS0=;7:C6EkVhyKx+IVu1lJ+dD1bmMhmD397byYRM0HjgVbGklq/6UhNy4dqPzH6u5+96EU1IfZWANygfamLTj3YU3oHP1YhvVkVsSMEaQEhUUV5ieoPuF8ja8wyFQKdPHz1kZgzhNJWWkW4fhQuIrRx76x7wxFr/cIBj1wwumoroUaFL1iYpnqlkGNjkK9PgYy28KQf+agvvGyJGCjRTlXXRRSwRNm01QPrwkn0E+eDJU47lDR5nslVAi/uhWfek1FW48FLUiNYdOFGXx9AhhFvyxlBQ== SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Jun 2016 21:44:18.0686 (UTC) X-MS-Exchange-CrossTenant-Id: 5afe0b00-7697-4969-b663-5eab37d5f47e X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e;Ip=[192.88.168.50];Helo=[tx30smr01.am.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY2PR0301MB1622 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Move the definition of fsl_mc_device_id to its proper location in mod_devicetable.h, and add fsl-mc bus support to devicetable-offsets.c and file2alias.c to enable device table matching. With this patch udev based module loading of fsl-mc drivers is supported. Signed-off-by: Stuart Yoder --- drivers/staging/fsl-mc/include/mc.h | 13 ------------- include/linux/mod_devicetable.h | 16 ++++++++++++++++ scripts/mod/devicetable-offsets.c | 4 ++++ scripts/mod/file2alias.c | 12 ++++++++++++ 4 files changed, 32 insertions(+), 13 deletions(-) diff --git a/drivers/staging/fsl-mc/include/mc.h b/drivers/staging/fsl-mc/include/mc.h index bc0d45c..a9a9d23 100644 --- a/drivers/staging/fsl-mc/include/mc.h +++ b/drivers/staging/fsl-mc/include/mc.h @@ -51,19 +51,6 @@ struct fsl_mc_driver { container_of(_drv, struct fsl_mc_driver, driver) /** - * struct fsl_mc_device_id - MC object device Id entry for driver matching - * @vendor: vendor ID - * @obj_type: MC object type - * - * Type of entries in the "device Id" table for MC object devices supported by - * a MC object device driver. The last entry of the table has vendor set to 0x0 - */ -struct fsl_mc_device_id { - u16 vendor; - const char obj_type[16]; -}; - -/** * enum fsl_mc_pool_type - Types of allocatable MC bus resources * * Entries in these enum are used as indices in the array of resource diff --git a/include/linux/mod_devicetable.h b/include/linux/mod_devicetable.h index 6e4c645..ed84c07 100644 --- a/include/linux/mod_devicetable.h +++ b/include/linux/mod_devicetable.h @@ -657,4 +657,20 @@ struct ulpi_device_id { kernel_ulong_t driver_data; }; +/** + * struct fsl_mc_device_id - MC object device identifier + * @vendor: vendor ID + * @obj_type: MC object type + * @ver_major: MC object version major number + * @ver_minor: MC object version minor number + * + * Type of entries in the "device Id" table for MC object devices supported by + * a MC object device driver. The last entry of the table has vendor set to 0x0 + */ +struct fsl_mc_device_id { + __u16 vendor; + const char obj_type[16]; +}; + + #endif /* LINUX_MOD_DEVICETABLE_H */ diff --git a/scripts/mod/devicetable-offsets.c b/scripts/mod/devicetable-offsets.c index 840b973..e4d90e5 100644 --- a/scripts/mod/devicetable-offsets.c +++ b/scripts/mod/devicetable-offsets.c @@ -202,5 +202,9 @@ int main(void) DEVID_FIELD(hda_device_id, rev_id); DEVID_FIELD(hda_device_id, api_version); + DEVID(fsl_mc_device_id); + DEVID_FIELD(fsl_mc_device_id, vendor); + DEVID_FIELD(fsl_mc_device_id, obj_type); + return 0; } diff --git a/scripts/mod/file2alias.c b/scripts/mod/file2alias.c index a915507..b3f88a3 100644 --- a/scripts/mod/file2alias.c +++ b/scripts/mod/file2alias.c @@ -1289,6 +1289,18 @@ static int do_hda_entry(const char *filename, void *symval, char *alias) } ADD_TO_DEVTABLE("hdaudio", hda_device_id, do_hda_entry); +/* Looks like: fsl-mc:vNdN */ +static int do_fsl_mc_entry(const char *filename, void *symval, + char *alias) +{ + DEF_FIELD(symval, fsl_mc_device_id, vendor); + DEF_FIELD_ADDR(symval, fsl_mc_device_id, obj_type); + + sprintf(alias, "fsl-mc:v%08Xd%s", vendor, *obj_type); + return 1; +} +ADD_TO_DEVTABLE("fslmc", fsl_mc_device_id, do_fsl_mc_entry); + /* Does namelen bytes of name exactly match the symbol? */ static bool sym_is(const char *name, unsigned namelen, const char *symbol) { -- 1.9.0