From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751648AbcFVV7s (ORCPT ); Wed, 22 Jun 2016 17:59:48 -0400 Received: from mail-by2on0057.outbound.protection.outlook.com ([207.46.100.57]:18766 "EHLO na01-by2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751274AbcFVV7p (ORCPT ); Wed, 22 Jun 2016 17:59:45 -0400 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 01/11] staging: fsl-mc: add support for the modalias sysfs attribute Date: Wed, 22 Jun 2016 16:40:42 -0500 Message-ID: <1466631652-25731-2-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: 131111054465060929;(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)(1110001)(1109001)(339900001)(189002)(199003)(11100500001)(2950100001)(33646002)(36756003)(87936001)(586003)(68736007)(106466001)(8936002)(104016004)(356003)(6806005)(50466002)(77096005)(305945005)(8666005)(47776003)(50226002)(105606002)(50986999)(81156014)(7846002)(19580395003)(97736004)(81166006)(229853001)(92566002)(189998001)(8676002)(2906002)(4326007)(19580405001)(110136002)(48376002)(85426001)(86362001)(2351001)(76176999)(5003940100001)(7059030);DIR:OUT;SFP:1101;SCL:1;SRVR:CO2PR03MB2374;H:tx30smr01.am.freescale.net;FPR:;SPF:Fail;PTR:InfoDomainNonexistent;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;BL2FFO11FD014;1:o/MCvzRGSLNRi5G95u7n++RwW4MtZdn4MBAF/1GuqxrXbE1jJzvW3nIZq/47k6hoQcrjqn4jXTz3uzLhcPX8HeuhaSUb45pCuXJ7XKHbUMgp3WVhYjMESNziiWE98G2MKWYqaT4iKiJ2pjDm1NKOJw2DFvzwEfOhfTj78SjwRQcL6nTuPmlEUqwI/Bfr1+RAa2IeJ1Uqh9/CaccY7MBpabAvHw6dvqLzD8v+CodzD2gx51pWQFvuAYbfVyE7ZBcnKATJkxCOPG7Tefq7OJftl/EPSmjsAJdl57TgbWbNhPJfn2pT8zC/zyvxKSdwKMdWDBmchKFXTdMpxyMBNBWGsOeWMoRMUU04ilehJMxcdoOgp2k2YkrXxoR22asmNxJgoDzCF3DUhUWUGUqkHfHKDScF31dPVMHl1IX9gEZSwNeqc2GFfXRMVYQANIH9eByjfkNj4SJVOXj2G7hmSWlQ21aB8evLDc1NA3r7dG7YKaebVAgxMgf4N/SzBDB/DzsgdJk3v7sbZ7+rutst0/Prn2HfKbswjPfkjc2843OT71Z3KTc3TGY0YSvo0XIe0iavCxDdmXdb+D4xCui0Km6rF0vefXE6UKAGYFypUjq0RAyzgVK5zFEzmaKc9amV7uZBMqhS3jXwARbRoLRftGOWt7HYNPEF9sE4EumoLDELtmg5BCLA1+0xhemEn2PblVVY MIME-Version: 1.0 Content-Type: text/plain X-MS-Office365-Filtering-Correlation-Id: 6b9429a1-001f-46d5-eee2-08d39ae655f8 X-Microsoft-Exchange-Diagnostics: 1;CO2PR03MB2374;2:3oJq3BXUV+aOb2VtrEADYMmZGK6q+KBMnmUnx1qbEC+IGI58j0bBvMy7YyzBxyWjc0J93fxH6oAsAVPI841i/ZV8O98CTrBVpialLN6cWjvti0DaDQ0GA1y/oNk5Ojat6x4Vq0Egtrpb3NJmrvPrjDFk+7yZx5WALbXaMopkG0Ezqz4mR5oQuNegtqSaqdas;3:Xq7DESW9v0sqdhFujopp9O7uxKPvjlp/7kNOGJjc3UAhk/hl8nwMRxyZrBwHg5B3IOnNlAoXxjI5IrXLJfrl4jKyNCmyyAttXb/tfz0L4og7QxX6q7QDdNasuh6YMFhr4056Ky1tvCvaoWoXVIOds5Wb3GaIhsxtom+lohOLuc28rHc8wN+0x8MxlQBrHH+mecsIG/EjrWbmvpBzCk2IGZenVLHeO8yyR6p+1tVRw3Y= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CO2PR03MB2374; X-Microsoft-Exchange-Diagnostics: 1;CO2PR03MB2374;25:cSI/Ub73GqS93XCd8RksQrNhyy85Fp+TLl1RB6OgUAK4kp8+xMdP8HwQKsW0W0qap+Zmzkxms/o9bCfTR6gT6gpC9AxDP/C17P/2zrRXxVG/fa2I5QjsJFa3Qsz24qOKKWGSWwxAM/br2mhip0O4MZ1M0dbU4GLypClrWXA9HTHlP4wfphXHaem5/w63XzkN7ZMj7wUp/bT6qIddf7bQMlKv+w/6mhM2fuXMiiiBtyyiu3a6/zX+/+eHodiKnfAGPYc6NurN/igA10NYLyA7rL71r56yPbXlCZ9/hzlslNXh6a5000TADrRYSAYJwv8sRwszbY/tEj6lcA6U0S4sn91AgI0RNRfkBQvTJOQjHYqw1N8XP7lTfEgFWF57gnMcclu0CIhgYx0nnmlJ9XcrrqZVuGPkyti1e7LcZrVA26XbQLIAG2xakAkNsHKEvNGr85xzKgi3S5ufU3LTx8FkdiswbM4eKQgy09+R2b6+AS/xpgyW5aBV3LyOIs0t+U2C6Md8GCaqIO+F7uHgCvjRklkvcox0wI5RCr7vEwfIL7YK9ai90gy6KdLvQxcBAIBPw31xDzW6nYidgk9eJSb8fuZQgZlfhQmpp35SirimvIBaUmhgWxWLgnOBkps00V/b52IOK+aT42jlika9lP4qTddiPWBD94S+2iGhrmqRTIzMiSWjNZSTlipyjZnCQ6OHUMMWGKeDAYT6X/wmp6Ku/FL0Z8rvvEeUqMh9Z0ounSk= 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)(8121501046)(13023025)(5005006)(13024025)(13015025)(13017025)(3002001)(10201501046)(6055026);SRVR:CO2PR03MB2374;BCL:0;PCL:0;RULEID:(400006);SRVR:CO2PR03MB2374; X-Microsoft-Exchange-Diagnostics: 1;CO2PR03MB2374;4:1jeELEtvLF7j56GphA0xHXDQCYKEK6cdmedwbNqyOMDgh0WJYb5pLy4Dv/3IjhtaFJ+ry/LCF+w1dqzEdtXnHNA144HhYGIhbspidqVxciJuNaazmS4C6R5SnjmISmqkwH7IyVA03NIqmRZK2IB+ozMl/M35ZTLUDX2AhAL7NZlnJQaIWC+JANCNl7Fecx+Q2hLgF/tDp67kL6b3W1p7XzoB1od5hqajRzsl5nK5t0eEzCTDkzDxoWPobdifDeuUHri89H0juz8Nme0XPgUt8rFaRmNqbq8q/uVXF2/fkZFxUov+zasCWpVRO0YowwTJ6XDrkppRla22GVZG3dpwz6XHItSug0zd4j8iYxMN5WFS7E+U4ILpTsITqYIwuzu1VLJYp1IBq3mjkimoOhLInLHOw51ZSO0l1Qc5R6VqNrcXIHBQW6Jmj3nMrqvvK4FdLYq8TfdK98OQqwN3j41+62lFmeV9agIN6guYZtJScGy7GDbKyDV0K/l0br16soruvFPO6F+f8H0+sqY7b4nQlg== X-Forefront-PRVS: 0981815F2F X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;CO2PR03MB2374;23:jM/NHuwuV3KYouuo066jyYXnS6+PKkBnA0k+QiwLt?= =?us-ascii?Q?aSBedYBDL+p60/vQnxK/6sfmR+YolQ0FAm8MOnZAqIv08mpGKPUiol6Reb+k?= =?us-ascii?Q?8g5uWOU3cagEQrJsuEXs2dQtCYBa1SqSzhAmyYTRntps5cejhf31p1FwCrJ0?= =?us-ascii?Q?jA6XXdv0TyQUXlblO+ak7GTcWrbt2L09M1GGh8wkZfDjd5y2pWm4TJ1CVF0c?= =?us-ascii?Q?MRsqc5asYi1koFxMlvfVOASpumciLh9+H6W3R/cFLhz/xkcF3DuNDfN/u+OY?= =?us-ascii?Q?vvNyh773Dgr5gk5dxXAtTHoVCEz54jhcgbqLzKglPJGQmCrsq3SfVqbladaz?= =?us-ascii?Q?bDVwlZ+VH4CYKeIQrXnsbF8sy17tjxyQ89gsxhzv3r2G0uDR54EmD+LFHimc?= =?us-ascii?Q?0l33WMWW9FAa7HfbSbK/oDQEhFw+NNUDqFHv17d3KJHCZPLKGyrXqMHhs4Qf?= =?us-ascii?Q?yINpy+JZEEpnwkVWWi5nKnG/hqduSjUSFSETN0IytxTg1ocsYLl5xSIZRk0c?= =?us-ascii?Q?maqHuHN6mKh0zMWUfd79y+0tT7jkVae1u8p2B6zcAkL0GEG5EH0Nx5EAUnKF?= =?us-ascii?Q?N3LYoqy6dQcI+otcMZzhxbn3EXJetwweLf4m6YyBFKvNBcGviZwquPoboi6t?= =?us-ascii?Q?CyXrIs9NWj6+a1PohqR6FK+gS8RlaSU8yLMhCJGuH1LsYkknWYG1zD1j8OxA?= =?us-ascii?Q?qcN6hDi0SdLxRIq90CBRb1rfRKl4WRZHH50oFCkz2lZHLmV2X7WEQkyJofBp?= =?us-ascii?Q?DqEM963JZE4c0aK9BLB8MJ5L+umlgaXVPHTP5QON6CkM7fdcA8ZO1DbgUcFg?= =?us-ascii?Q?KwsRJ0YLkupEo5fA/32vU6rLlV2jyDujU2FRifVQeq0X2RJF1esWWooPo/ao?= =?us-ascii?Q?LEwECki0fSoWN2QFgiFInm5HaKWKlBBUnlTefn22D2jdXoLV2mdkH4hGS8yW?= =?us-ascii?Q?4uZ6CAg+Hj2Oqa5WcMZo53OE4UG+0/i5mu4qS1MO4sptU2mU/Oe1XG1X9oJD?= =?us-ascii?Q?/FhL8EvNXZHlmZOPD9G43Y+KBvoQkv1enUlLa6OtPl3o31xeWcyHVY9kcGqh?= =?us-ascii?Q?vY27Esf+GO3QYn+6rIvBNY0yL7CtI/EOhXtbxCJHj+Y28u2tSePt85MaNuv3?= =?us-ascii?Q?uIVx7PEh90zDcjWxWPuLCmANL1PCHFF?= X-Microsoft-Exchange-Diagnostics: 1;CO2PR03MB2374;6:KC0DvLfCvnlv0XvV2olrMe6FBrZvvO0lP7k7SB2eR/6mXU1dMD/wgTu7A3uLzSvYLdbN2X8JoEIaCywQAvO1Z1AfITt6siUeRzP2ViHib4oHc/1d4zT9KeYF1X9nebOKP6Jz7yz0o11/YXukqjIqchoiwXV2ml/Jk/0azuzkli+SQrhPo9oal4d7YEKeK6qiPvkaR9+fCyOzyT0+Bp9DUB5YrvYhuWbAXVXKjmk+rY38bSlBfT33hnOxu2FBLo4bqeO1nyNMx87gGYTERzGThubP3nsuHe++Pv4NnWtLNs6GbQ8DKNqP4uIKCa8ZLNrC;5:BgzX4BGtCOYJuqgHvk8PLSeP4RExsU8feDgYNYD33c8w+QkRQFbbX5k02ZrcT1ms4qtmnnNdp+vU2EDGJ9iYjBqkcxBUCaqCkSbFLcwYgWr/Szkyf3im6mQGX1ikuIS+voPubMcP53cL6LAj+9HA1R4JlYtPWqxHEaRVIflEW9o=;24:fysv8a0HTwoKm845gBL2/FsiGQj/vBDWcVrOnHBxzakNwDUDUCQJGSnAo+cwRZ1pgLJbiirUQRJdesQeTHLD006LD67qO62EehHpC3h/T1o=;7:8b8KKP2U0oAjtkWVgHekdsVY8/ULfBhwfbPsdWinOl14i3wRJvI/wOasPJ9oTHKWfl7gpOUD+Z6e5drONOqjlcU8w47K87WHIRplpS8/WdCl/gIjGF4yihe523ppVm5p69Yuw6Er7vLxzZpBiZNbbviyeygU3vzX6Uv0qzOS29lizEC/5Fz4dGV+lvEjbzOOyObvIvrnKx3U4mxRFKcCThPvu+SgpyYjgVtPdhvHwb9W/qW809BHc6cxEfOfnFuBDSB7YFdM3HPry6PVl+1QCA== SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Jun 2016 21:44:06.2876 (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: CO2PR03MB2374 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org In order to support uevent based module loading implement modalias support for the fsl-mc bus driver. Aliases are based on vendor and object/device id and are of the form "fsl-mc:vNdN". Signed-off-by: Stuart Yoder --- drivers/staging/fsl-mc/bus/mc-bus.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/drivers/staging/fsl-mc/bus/mc-bus.c b/drivers/staging/fsl-mc/bus/mc-bus.c index 4053643..d8776dd 100644 --- a/drivers/staging/fsl-mc/bus/mc-bus.c +++ b/drivers/staging/fsl-mc/bus/mc-bus.c @@ -82,10 +82,35 @@ static int fsl_mc_bus_uevent(struct device *dev, struct kobj_uevent_env *env) return 0; } +static ssize_t modalias_show(struct device *dev, struct device_attribute *attr, + char *buf) +{ + struct fsl_mc_device *mc_dev = to_fsl_mc_device(dev); + + return sprintf(buf, "fsl-mc:v%08Xd%s\n", mc_dev->obj_desc.vendor, + mc_dev->obj_desc.type); +} +static DEVICE_ATTR_RO(modalias); + +static struct attribute *fsl_mc_dev_attrs[] = { + &dev_attr_modalias.attr, + NULL, +}; + +static const struct attribute_group fsl_mc_dev_group = { + .attrs = fsl_mc_dev_attrs, +}; + +static const struct attribute_group *fsl_mc_dev_groups[] = { + &fsl_mc_dev_group, + NULL, +}; + struct bus_type fsl_mc_bus_type = { .name = "fsl-mc", .match = fsl_mc_bus_match, .uevent = fsl_mc_bus_uevent, + .dev_groups = fsl_mc_dev_groups, }; EXPORT_SYMBOL_GPL(fsl_mc_bus_type); -- 1.9.0