From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753281AbcHONm4 (ORCPT ); Mon, 15 Aug 2016 09:42:56 -0400 Received: from mail-db5eur01on0137.outbound.protection.outlook.com ([104.47.2.137]:2648 "EHLO EUR01-DB5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753127AbcHONly (ORCPT ); Mon, 15 Aug 2016 09:41:54 -0400 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=peda@axentia.se; From: Peter Rosin To: CC: Peter Rosin , Wolfram Sang , Rob Herring , Mark Rutland , Guenter Roeck , "David S. Miller" , Geert Uytterhoeven , Andrew Morton , Greg Kroah-Hartman , Mauro Carvalho Chehab , , , Crestez Dan Leonard Subject: [PATCH v2 6/8] i2c: mux: inform the i2c mux core about how it is used Date: Mon, 15 Aug 2016 15:40:29 +0200 Message-ID: <1471268431-5148-7-git-send-email-peda@axentia.se> X-Mailer: git-send-email 2.1.4 In-Reply-To: <1471268431-5148-1-git-send-email-peda@axentia.se> References: <1471268431-5148-1-git-send-email-peda@axentia.se> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [217.210.101.82] X-ClientProxiedBy: DB4PR02CA0038.eurprd02.prod.outlook.com (10.242.174.166) To DB6PR0201MB2309.eurprd02.prod.outlook.com (10.169.222.148) X-MS-Office365-Filtering-Correlation-Id: 3b3f499d-2d83-4a13-2908-08d3c511e4c4 X-Microsoft-Exchange-Diagnostics: 1;DB6PR0201MB2309;2:RZ4N8V2GQwLdWwIWiYBRFn2V8cF8oroYzYJHveG16MHW3snXRBYZah1KQICet3RQqkIvf9xL976qXsUYjP4eI7b7Fo/jrjfT5Ss89ax38IA8YtNn62yFRDJH0QR6Z5GvMw4YWQX8aQebL9KwxFtU22ZbVU9ETjMdyr5MtPV3/kghWtzEcs9wiYrFdCVL+BC8;3:wTSG85M4xNoqbv+R13/swIR2VcRcHMSYhi9UbMaNSSkvsOl2hZd/HASqwlQfhDuA+adm5BCACFjnHeeXt87clkITlKnC9MdkBwTZbD6uK9UinjrwqLW+v/osjIxpxVF1;25:52Zes+zKz+cY8OLPfWeC7G31LgC2wXixJKvOfdBB8w1VW4XqYMvqk/xxAG07Ua39bidqQSHhRqeh8+y2wf1QaMW/uCnHBWanN5VU+Y/8M1h5z2ukdww/haYo2qXYztKhUio3HP/ZJ6PCFwqifuFZuAPflFJXGGq9LefEQvIUJYuVW5TiLGvkOzVKHxV3VjqSiFCtEcqLVoS9Dz2t7Oc8yW83bXKeoUnUEB6wXLi1acQqwkVDsA+6hX3FzJifFsQEt1fKNgftwJdKRM4evQX4asaHJyKd6t62Ej/VtfHQZo6+z/8lza7R7gNftxrq6M4ORJqddo051wQps9Dtn80vinsfG3nlX0RIVFpDwoACP4crHWkaYxZdywgL6J+gIPpOw0OFvFrQi3wcFCu4AXFY8INqOpZ58ooiK+V5IGTTHJc= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:DB6PR0201MB2309; X-Microsoft-Exchange-Diagnostics: 1;DB6PR0201MB2309;31:69w/D43W9sVW7aftWTbUSLh6u8Y6fjJayMKGMbvT9EOGjlosDS0FyLA0GLxOi30yCTclFRlJThvVBeDAROhY+K2O8+4iQ8UY7REhLWx9eHvs5nr2MbBJ9iACA5xT7j/oyvpfFxh0UPSSMVpygolip8A904DJzN8xcS5Awcw14WSD/6n8AbXoNy3baqoHkxR37btXsxMOhcO8OpWk35bXpY3c+yFvjrUjA+qQhhb6gTs=;4:uKtEr4/mzPLn0APXXcOnpbDb5yaRaXVM52v0etSWiOgEwfx5y5wD9u61pAAybJkKluMUtdkDDfJzCTU1vhGSZcInC/CdY/epkCMgbPKkZls1VHK5A8G1G+3g70XWhUZZO36T1FY5pEkvuxNMNLMO7bOSn6SGgTP/2VJXiqu3kQz4k93wiWJ61tY1DpTHOfw/l67Ne6mU/0qHRP0v86A8h0f2yIgLrS9Eh1PNXGRM3BP5M/oX7tSomAD1w2+Kji+qMccwON8tcv29ia9nu7dyZ6ao6w+TNDCGJ6kpgxd1oAbgPkuVpwTHwadkRcgfMcbLM3PT8V/lrcBBS+9fDCFc+6wVLboXz6mLTvfH9Bsxl9DKUSfmisqtlnKHkfT5w1bLrcwmUau/cw5x0duK+t4+OTx3FZTN11tYiUOFjWzDWjM= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040176)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(6042046)(6043046);SRVR:DB6PR0201MB2309;BCL:0;PCL:0;RULEID:;SRVR:DB6PR0201MB2309; X-Forefront-PRVS: 0035B15214 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6009001)(6069001)(7916002)(189002)(199003)(19580405001)(50226002)(106356001)(101416001)(3846002)(36756003)(2351001)(77096005)(74482002)(6116002)(229853001)(105586002)(586003)(19580395003)(189998001)(86362001)(42186005)(5003940100001)(8676002)(7416002)(76176999)(66066001)(2950100001)(50986999)(48376002)(68736007)(47776003)(81166006)(7846002)(92566002)(33646002)(97736004)(305945005)(2906002)(4326007)(110136002)(7736002)(81156014)(50466002)(42262002);DIR:OUT;SFP:1102;SCL:1;SRVR:DB6PR0201MB2309;H:localhost.localdomain;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;DB6PR0201MB2309;23:RALWrdvMs0GLydZPgALU7Tx5ZVbWODSCFCgqzZK?= =?us-ascii?Q?/RStHvHz5L/0uiofT5EwK/cS9/dlELDt80thj59pLb6P4rPK8ZYbz+Fozq2p?= =?us-ascii?Q?M9Nkm3fA7E5ZIK+GhEBbVwRJROivWmG4L58JyvpNxKXbmzJKkthQ2xdM5hUP?= =?us-ascii?Q?YTC04oToWOMJ2QS0Jyxi3a2xs9KmNc65k7JAaxEFD0yCcIOL0vi/nF7wgfCN?= =?us-ascii?Q?HR7L1IiYzx0PI+nWAyK8+JKPQEqU8FnVXPnrkH7hvG1ITtyVuoCrwyBmlowe?= =?us-ascii?Q?hyAkRuhJ+JvO43k84+PLcERlLZS01i1my9YHGPr+7Vi/GQn2bbEt9PQS/Meh?= =?us-ascii?Q?TIKj90tE9+32lJTuLg3KPPOJihY2dlX2uX8G4WOTewylgy8KtpdIyUrM7XFw?= =?us-ascii?Q?reKdEspMCxPizLM+JERnsmjy6C2okHW7R1sm7oWLT4wRcpQBY81/KOPASi3e?= =?us-ascii?Q?1q3G3oeVqX4GrcHagX3KiEidHoxGzVwcc5CFa/rB9NLTU1VimbZ1DCxBNGdU?= =?us-ascii?Q?0aHZKea0y6oWM3hrTMtSJE8SBXVhsFsojqZ6P9i60bZnXCb0AneSNCtKsmmI?= =?us-ascii?Q?clhmX0gyCry9/8VVVE5sY7vO9c3dUKp727HzDU7DRG+NrbL5qNcfjw8c6F17?= =?us-ascii?Q?WbSebi0VJrkxYAHv+pgFgj3+rAgqlMX+EUx/7w07QhZjiOAwBnc9BFfajrrg?= =?us-ascii?Q?n2o9Aq9zEHifSBzHUe4dulrdnWKP5XdUiZCsNvKdBV6darPnPnP1QW9l9Qfr?= =?us-ascii?Q?yc7Y6klpw2Jc9nT0BfjCD19A09sa5fpQGIE+a4ezZBI2hnqH8aZE3Xh6obSi?= =?us-ascii?Q?/KTsgpmf8ZSDkxDy/Ws4fpg757q3MpjRkAuKDcaXslfPDdur0r7aZMPN0MUL?= =?us-ascii?Q?OYnWPS9/vYVVNc4AwNxV+Jv0tU0vYCjFcGCUp600aIycsciXuzL+o1BGRpOO?= =?us-ascii?Q?J7b2Q6HBGCLsgZw7UXAju2CHqajbUoz5gLVf0mxYJWzf1VZHP8g/iuOkdGwc?= =?us-ascii?Q?P64OepXg4o7yebdG7YLH8JH6gbsXThPnz0GaV3iF7uKtaA4k8aYvraMakVyU?= =?us-ascii?Q?m3OU/NMEm8A2kTVBp1Tnm9sCTabw2n81z3idopQpSay2N/g7wkET28vQ5b6w?= =?us-ascii?Q?jZIPEdQDVvNBMsE8n/DgSFiYSyX4WLlPJ?= X-Microsoft-Exchange-Diagnostics: 1;DB6PR0201MB2309;6:yrbXzxhGMFDRNv3R5lfHwA3e3z5kr5Ln2qcU3x9yqiKrY8NUod1BMtGaqd3n+1pl/XuM4NYenpl+lwxF4CFWRbACe4p66nqfC42v9mOfIDkB0XeSPnKtKruhggJOXR4VCwyJBlAHCCUV1/lwZzNL+q9LA9Wk4u9pwI+yv8YD50ZRwsYYQ/jtQeaChKtYZ4Bym9CTRVbAxq5H3FUK0B20A5LMshGnrBSRZTItqQU9yVRCSeqbt5UFpQ4OS5nwGg1Qmx5ksTpMqbn+sb5lwrIwjGLLqCC+OTor0k2PJ5M3xO/l2wIX/rR0Z/1xnI2/7JYC;5:V/D6FFv1cFTMK/VDSWm0wfaKRFyfIrfQYzgFA8waf2YJe3Ie85/RRkjVC4Fxmqw53jhbb1U11SQ4b6B3FdpcOy9mGhAWZ3ntlMNyhYyaVsQCKOcOAwBTzIKsGLzKFlByPJ2US10gGKqPl3C2Q1mi3A==;24:Q/H90bAMgS3PTeGAYuyXQRLilr+MxU9ZPe0jgLgW/7LW9SH2AMTmcNFNk2aP4qz0FaanQuMF7hmQiob1bFWcG0U3tuhsDIR3NK9WtgjxgfE=;7:7UD9njwsEad8zpVPUxwolnMTFaLA2UHtMlhANOciw07ON3zqczwRV7hkwOIGUiM5l61Zqi8BtWOTgrzEyPpJXrtlFP4M4bgmUDx5G2tNVhETM+JSRe/cg78ob3OYK3qZr6gdd10tO84QINNql3g/ktnHmgBW6ZEiNxU8jntTwIdj5HP/xP8loWeEGLHrDqGnKgP/atE6OssKBUyyOgo86Qbarv+u1lqoNFlvapm/Cwxx/+iYTAPs9ZNZ9UOsQq3J SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: axentia.se X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Aug 2016 13:41:41.7496 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0201MB2309 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The i2c mux core can then take appropriate action depending on if it is used for an actual i2c mux, for a gate or for an arbitrator (the last is the case for these drivers). This adds support for the new clearer and more compact devicetree bindings that was added recently. Signed-off-by: Peter Rosin --- drivers/i2c/muxes/i2c-arb-gpio-challenge.c | 2 +- drivers/i2c/muxes/i2c-mux-pca9541.c | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/i2c/muxes/i2c-arb-gpio-challenge.c b/drivers/i2c/muxes/i2c-arb-gpio-challenge.c index a90bbc4037dd..86fc2d4c081b 100644 --- a/drivers/i2c/muxes/i2c-arb-gpio-challenge.c +++ b/drivers/i2c/muxes/i2c-arb-gpio-challenge.c @@ -130,7 +130,7 @@ static int i2c_arbitrator_probe(struct platform_device *pdev) return -EINVAL; } - muxc = i2c_mux_alloc(NULL, dev, 1, sizeof(*arb), 0, + muxc = i2c_mux_alloc(NULL, dev, 1, sizeof(*arb), I2C_MUX_ARBITRATOR, i2c_arbitrator_select, i2c_arbitrator_deselect); if (!muxc) return -ENOMEM; diff --git a/drivers/i2c/muxes/i2c-mux-pca9541.c b/drivers/i2c/muxes/i2c-mux-pca9541.c index 3cb8af635db5..f052c3067791 100644 --- a/drivers/i2c/muxes/i2c-mux-pca9541.c +++ b/drivers/i2c/muxes/i2c-mux-pca9541.c @@ -349,7 +349,8 @@ static int pca9541_probe(struct i2c_client *client, force = 0; if (pdata) force = pdata->modes[0].adap_id; - muxc = i2c_mux_alloc(adap, &client->dev, 1, sizeof(*data), 0, + muxc = i2c_mux_alloc(adap, &client->dev, 1, sizeof(*data), + I2C_MUX_ARBITRATOR, pca9541_select_chan, pca9541_release_chan); if (!muxc) return -ENOMEM; -- 2.1.4