From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751536AbbJDHZZ (ORCPT ); Sun, 4 Oct 2015 03:25:25 -0400 Received: from mail-bl2on0148.outbound.protection.outlook.com ([65.55.169.148]:22943 "EHLO na01-bl2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751211AbbJDHZV (ORCPT ); Sun, 4 Oct 2015 03:25:21 -0400 X-Greylist: delayed 864 seconds by postgrey-1.27 at vger.kernel.org; Sun, 04 Oct 2015 03:25:20 EDT Authentication-Results: spf=fail (sender IP is 192.88.158.2) smtp.mailfrom=freescale.com; freescale.mail.onmicrosoft.com; dkim=none (message not signed) header.d=none;freescale.mail.onmicrosoft.com; dmarc=none action=none header.from=freescale.com; From: To: , , , CC: , , , , , , , , , , , Itai Katz Subject: [PATCH 2/5] staging: fsl-mc: abstract test for whether a dprc is a root dprc Date: Sun, 4 Oct 2015 10:09:51 +0300 Message-ID: <1443942594-7189-3-git-send-email-itai.katz@freescale.com> X-Mailer: git-send-email 1.7.7.4 In-Reply-To: <1443942594-7189-1-git-send-email-itai.katz@freescale.com> References: <1443942594-7189-1-git-send-email-itai.katz@freescale.com> X-EOPAttributedMessage: 0 X-Microsoft-Exchange-Diagnostics: 1;BY2FFO11FD051;1:0Z8V2sgeycJREvqa41Aonp69OoZjtnLdod0PC5Izm4QeKN1nOCmehtVL2VLdjQKOCPSJ1kV/5SnbxNG3nKuVCnLl50hdL6Sm/Ri44gaylRrxWdX3r8lBmZEzlcZsNZdx0Q77h/qZnux4XJ2yPqsxDrSrwknmcM0Ks2WQ5KewXk/Is+/HrBnrAiMHJMBR5bIqtbsFojVMNIwDo2ZWmEu6mmp4CwIMNVO6jalb/T6VxCQSb8Fz0CcNqE3RY8mcQA+blOq0EeG1dZLIWxAahvF/jALpXhL1aBw1fyRkZOHIJAIujNCq1nLIXfc4D+qHDiGbcMXJbZf2aAIVXAV7fCDhAfqwgvK0TyRWMktpljSrhv9iywDGoEr9eYzwWZHRJRY0BdZ3hzICyiCiPwy3RRnq1Q== X-Forefront-Antispam-Report: CIP:192.88.158.2;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10019020)(6009001)(2980300002)(1109001)(1110001)(339900001)(199003)(189002)(189998001)(36756003)(104016004)(229853001)(5007970100001)(46102003)(47776003)(5003940100001)(92566002)(6806005)(87936001)(2950100001)(5008740100001)(64706001)(4001540100001)(5001770100001)(97736004)(68736005)(5001830100001)(50226001)(62966003)(77156002)(11100500001)(5001960100002)(107886002)(106466001)(81156007)(5001860100001)(50986999)(76176999)(33646002)(105606002)(19580395003)(69596002)(19580405001)(86362001)(2201001)(86152002)(85426001)(50466002)(48376002)(4001430100001);DIR:OUT;SFP:1102;SCL:1;SRVR:BN3PR0301MB1299;H:az84smr01.freescale.net;FPR:;SPF:Fail;PTR:InfoDomainNonexistent;A:1;MX:1;LANG:en; MIME-Version: 1.0 Content-Type: text/plain X-Microsoft-Exchange-Diagnostics: 1;BN3PR0301MB1299;2:UkB+/gPSFBNF3vi0llBi09N1xVVTV6Phy/I4QA9nLoCXDqb0tMqpQH5dCsg0p4EynztBFeIBEzckypMY5OM4joGj5OmykhldsaDNYsaoQA0Pq3ezc8lzBotecWysPQC9jPoMxosud5uXbPTDXc9A9ZZwOBZq6nSE07yCJ2kAoWs=;3:lksWmFRujjTimkjWhZ3fRn0n1XreuRt6XTlo8tExmE90sPAWjedDOpN29PYYDI2fNfypopugyZWoaTdd2k8+76xxaHBqRmGx165jziiIg6h6xN3yIdlmDdxS0ZbEKxFlJh+Vkl9lYnmNW4oMLwEYHbVi06qHwvFD0MjgYUFI9mhZkEceICYC5jJV9NZB5/5LKdlrus2Yug23AnxAGBJcblGuQ6hGTj5cQQxvRb3Wyng=;25:t/P5tPIlTG61qSy7/ZR/DCZLO5w4SThzVr9kQ2mAlO2813xh6sgCPthevVEMSiYs76gxRVk3nhKozcRyhNlALbeZPcdHXb2leB2s+qENy3wnZMwUcwu2FVa4IbvjJ+MS5GeHAo6r8PNp1P6W2a1cNpiRvKiRO0SZarQO1OKHn/h8XnO8f4WvaENJ/XZvYRysH9YFDNpo2boaQQj5mLzIhI8AlII7naeYAMbaIbUiNb3UoQc4p8cT4o4S2PCcn79K X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BN3PR0301MB1299; X-Microsoft-Exchange-Diagnostics: 1;BN3PR0301MB1299;20:Uq3+rzBNTb0D1GqdYjK+jsVNHYhykJVgfNJGvdR6b+HYRffIa40pGNTjRWonT/GUjqA1Rqk/szmRZZfFdBGXyjy2OYulUNhPdMYeOkhczhRuoqcsSVxscNh1JmuYpPewTWzYhFm3+la18/mSyfT7sbjudvtwP7u0CmSGXoJO9KXhao2D35YXUgqcpzoBxs/dQD9dXIMjvW82j6Dqx46EEqmxGY7ub/Fl1cFXyXRaupT2LhmPaxHchVwpaCG+9niMn5r0nRHZ/vmDs1o9A9Tu5XNo/NEG+ef2awOAQqejsVXPOVE7uk3JqqKuat5II5ZtkL98zp+aiJAf080yE1yMVZpTo4w2Ch2WmIV0XeKYdS0=;4:QxFNeIhYGEN4NmT+wB1tJetsv2kdOyXSVyK+Lbp60PQYFWf92r81PgjIw/S8Rp4uY+N21sDasvDMxdveysxcAWt9XqOkHqevGn3Nm4sUtbQjGPhzioPBi7iEz2lnK4hDfrOodXqsGjY3pUyplndwgQ7CmWu1g3+w/KDRBZY7Sox7PYSwGhTPm0KOu35cq6q7D74gwV5q0qyTXKB5iHb1THgZNpD44FbKUAqPp0pshQedxrvzWM87yqdQha7Sin843PjLgEDcVPhMwmsn/fhgMN+EI1lz8R2AQWaDDM+FzsHHn+ZkqFOCB+kRjIeg8azbhXoKRE6PlgsdAwtEA+G6AaleAf2pdHueXzdKdgQANYU= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(5005006)(520078)(8121501046)(3002001);SRVR:BN3PR0301MB1299;BCL:0;PCL:0;RULEID:;SRVR:BN3PR0301MB1299; X-Forefront-PRVS: 0719EC6A9A X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;BN3PR0301MB1299;23:nE+27SloOvPNVODfyNnrcPsuS0hE6OAER6OGTPW?= =?us-ascii?Q?k+G/sQO240yEzxWAL3GAjr/7/yRGFa+cpejceZ0wkh0AaNMyBGt9ht9GiMdY?= =?us-ascii?Q?OdsgnW9oReNQvVsDfN2rYdBbzY2LpLShxE/lrrA9jgfiy2P8ojGFzDbuGW9H?= =?us-ascii?Q?oNRmnPYmD5dmTWqNOSvj2ylCosQq4ulo8BAbJAo5JNxUO6PXEsOnGtLIEOUx?= =?us-ascii?Q?FHNrMOHbar7EeYNa4USQfudmnlyq2ThCnSnWtgXoaKvxSM9NMPoC77/yh7Q5?= =?us-ascii?Q?1Z3ShrUrgqYwWMrwI5YoQ9hcwFlKI0Un+Lyhwdom2+MKQVGKiN3trWK69D24?= =?us-ascii?Q?5o7zn2hAiIHwSZWfHK3QommAdkWKvE53jVrS6Lbyu4DPujAZ8hkFTRju9hyI?= =?us-ascii?Q?huB3wegyVJ0sg7fdyFcke1OOxeO0D2adA3ZNz6WR5lm4Gjk44QAUoHAHHBQD?= =?us-ascii?Q?UvtP5zByHgcjAlHMdE5pMHnhyWGIQbC9pBDJ3w+DxnoYTzvXN5FepanHS+xH?= =?us-ascii?Q?keKDLG1uNK952zR1+I8pubNCwY7qZpiqS1+19DsGY5Rj9hl4EioZlnD1J/rp?= =?us-ascii?Q?XJEjyrrqhxvdpWPQyDFV+WAoY15qlLMp30dla2JjQOvknmsPle2EE1bmz31q?= =?us-ascii?Q?tGQpkPTrgut7bu0rfomoRKG7hWYw7IHMpBrdsRGdyzNCijCl6OUiZSPRQjeN?= =?us-ascii?Q?Jjg+zM1qYdB4f/2UpODuYSuf2Piv86Jqv7aAqVsosKkofS1CcZNd8wSwXsSE?= =?us-ascii?Q?bhYqiC541bxeL0VlUvecNKbHwlytXkwxhH7J+W2a3nxiJbf1jnpAGReM8mWz?= =?us-ascii?Q?aP1LN0d5bLKhBoT2o4toTJQeT86ry7rTV1OH5C8/7F5Y4QEX5doARzcPHjJn?= =?us-ascii?Q?XrK26yZDsF4qVgVQ5+y53wRDWCb7HZLzfMbq131UIe7ZDFXOh/X+AfaiBmBn?= =?us-ascii?Q?/PTMnFuGLWXLYLF8OccZBmRFvwEg11/9GebtBfAmjqt+8aPKX2RgrS2s16M4?= =?us-ascii?Q?v7LW6DrA75STbeYRhlc/4UF4aZ+ariTCeLoNVru9wseNnlxxaVc+xuM3acZR?= =?us-ascii?Q?Am4ejPFV/KC/JbgrrDkQ6KpZY/naEHbBRgosaEjX+1tJj6EyBZjdze/VgbyI?= =?us-ascii?Q?F4ZAB2ZmdCR3OP8QYUzgqbJvoEOV1C+PtHsVq1pikiaYaIVSxJaAlwk7APDV?= =?us-ascii?Q?CKYhEPoUGR8a1JZ3tseyp68PSB4IPYh6/xxa0gnJHGiFj8NuSV5lfcUq/qZf?= =?us-ascii?Q?I2XOzjkIVXa6zGTlniXoUuaBjbtlFVJCdT8CyGjG9d3Z+wvNet9soOpJbt9i?= =?us-ascii?Q?keM9sIMmpGwWF27rjmUqrSFQzJ2ZuRcM0ARaUkKq7MZC+?= X-Microsoft-Exchange-Diagnostics: 1;BN3PR0301MB1299;5:40XENykLPqCpk9KuspXWmtY6mDYTrzVyxn9uS1o4AEuwYT6B64gk9We/8ooscvayuiA5rKYHwDEVOSI1wcs5EOwYmYLhpXi6IMtDnVsA9OLi6O/RYlqplzhJbc9oUkxqLxr2/sfm/r+VfbtoV1n5ww==;24:70UpGhxssOjpDUeFGcSn1gAw0gtGHl3Z1qbHeRaN/9rt5Wt238EMGsvbmj7ug2JSkoJqFBOX5O9Rz2/a95fzbAXVZXPkIIL/42XrVX0jtX4=;20:gUSR5VwiDm46uIaRVqGF4cWwHXXUElv2zYCM+HNPTSiDoAS2FvH8y5ZD1rpT/5b6lXQW5edDYiJ7K2cFtEqJOw== X-OriginatorOrg: freescale.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Oct 2015 07:10:40.1476 (UTC) X-MS-Exchange-CrossTenant-Id: 710a03f5-10f6-4d38-9ff4-a80b81da590d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=710a03f5-10f6-4d38-9ff4-a80b81da590d;Ip=[192.88.158.2];Helo=[az84smr01.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN3PR0301MB1299 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Itai Katz Instead of relying on assumptions about fields in data structures, abstract the test for whether a dprc is a root dprc into a function. Signed-off-by: Itai Katz --- drivers/staging/fsl-mc/bus/mc-bus.c | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/drivers/staging/fsl-mc/bus/mc-bus.c b/drivers/staging/fsl-mc/bus/mc-bus.c index 2aaeb3a..6a6c5a6 100644 --- a/drivers/staging/fsl-mc/bus/mc-bus.c +++ b/drivers/staging/fsl-mc/bus/mc-bus.c @@ -22,6 +22,8 @@ static struct kmem_cache *mc_dev_cache; +static bool fsl_mc_is_root_dprc(struct device *dev); + /** * fsl_mc_bus_match - device to driver matching callback * @dev: the MC object device structure to match against @@ -50,7 +52,7 @@ static int fsl_mc_bus_match(struct device *dev, struct device_driver *drv) * Only exception is the root DPRC, which is a special case. */ if ((mc_dev->obj_desc.state & DPRC_OBJ_STATE_PLUGGED) == 0 && - &mc_dev->dev != fsl_mc_bus_type.dev_root) + !fsl_mc_is_root_dprc(&mc_dev->dev)) goto out; /* @@ -215,6 +217,14 @@ bool fsl_mc_bus_exists(void) } EXPORT_SYMBOL_GPL(fsl_mc_bus_exists); +/** + * fsl_mc_is_root_dprc - function to check if a given device is a root dprc + */ +static bool fsl_mc_is_root_dprc(struct device *dev) +{ + return dev == fsl_mc_bus_type.dev_root; +} + static int get_dprc_icid(struct fsl_mc_io *mc_io, int container_id, u16 *icid) { @@ -500,7 +510,7 @@ void fsl_mc_device_remove(struct fsl_mc_device *mc_dev) mc_dev->mc_io = NULL; } - if (&mc_dev->dev == fsl_mc_bus_type.dev_root) + if (fsl_mc_is_root_dprc(&mc_dev->dev)) fsl_mc_bus_type.dev_root = NULL; } @@ -726,7 +736,7 @@ static int fsl_mc_bus_remove(struct platform_device *pdev) { struct fsl_mc *mc = platform_get_drvdata(pdev); - if (WARN_ON(&mc->root_mc_bus_dev->dev != fsl_mc_bus_type.dev_root)) + if (WARN_ON(!fsl_mc_is_root_dprc(&mc->root_mc_bus_dev->dev))) return -EINVAL; fsl_mc_device_remove(mc->root_mc_bus_dev); -- 1.7.9.5