From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754733AbcIJHRb (ORCPT ); Sat, 10 Sep 2016 03:17:31 -0400 Received: from mail-he1eur01on0135.outbound.protection.outlook.com ([104.47.0.135]:31251 "EHLO EUR01-HE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752879AbcIJHR1 (ORCPT ); Sat, 10 Sep 2016 03:17:27 -0400 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=peda@axentia.se; Subject: Re: [PATCH v1 0/2] i2c: Stop i2c modules being unloaded while in use. To: , References: <1473278729-16329-1-git-send-email-jim_baxter@mentor.com> CC: Peter Korsgaard , Wolfram Sang , From: Peter Rosin Organization: Axentia Technologies AB Message-ID: <51c45bae-aa5d-bfad-e9d0-d95deb3dc380@axentia.se> Date: Fri, 9 Sep 2016 22:40:37 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0 MIME-Version: 1.0 In-Reply-To: <1473278729-16329-1-git-send-email-jim_baxter@mentor.com> Content-Type: text/plain; charset="windows-1252" Content-Transfer-Encoding: 7bit X-Originating-IP: [217.210.101.82] X-ClientProxiedBy: HE1PR0401CA0033.eurprd04.prod.outlook.com (10.166.116.171) To DB6PR0201MB2310.eurprd02.prod.outlook.com (10.169.222.149) X-MS-Office365-Filtering-Correlation-Id: 7186875e-0a1e-41cd-5bc8-08d3d8f1919f X-Microsoft-Exchange-Diagnostics: 1;DB6PR0201MB2310;2:ROeXEDee9s69lk06P0w/H7tGbFKK+Vml+GgUzuWLHstGKoW6GUUiBm0jWTUcEBHECad8lIc/2OI+948m1yyJlwnahhodNqHITpIKbFKR4r/VR3DJM8A6WRihQxvIGf91W7bsaTi3W7wty65Dw4SLeFnbjnDOGKETLniqoWxGaFWl9PgfrYfYtmj4i4IoBems;3:QNLD+Z4MuFXSuU0NdbwzueIDgSh4Fa3467GFRb0j0Ehh3VmUqKqLUxYOHsfNKu1nQpgxrjyW+XiXa9w/FoXEWX7/XkCrnZFxskai2CRFvRpcyscKoTVkf4xv9Uqyk+3t X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:DB6PR0201MB2310; X-Microsoft-Exchange-Diagnostics: 1;DB6PR0201MB2310;25:Hq58K7GhDdVGBTPwSip5zDOSXnsIsHJSmLiFAb2lFLf5ImDeuAAlC+RsdPhD1OYVKkf+mQrp4Cf1Mk5EIzSH1e7sQK8ZS7IpeVLcWRrueEjNAuAcxre4tOtMCBx9F3rmi598RClq9MEeCKh2pXDD5CTbaFKwvXCv+QC6KwIesvSEBtEQE68X1VJSsDQpjGeP+2q+ydFRFH1VojrCwqjjGgK2dj0bXxXjdnCqLFk/ID5zUnIU5+ASMfXS2srIhldzLQGxY4zCHLBCKRW3SmegvlhqkA/d8qoUMVWVxaN/ATjaKCDvufY4LjE6WwMnMdNbs4JJxOeZFARdFjm44B6+UeJrQMD5kGLywMnJrjKC6eupUPhWNeN9/CqODs//oZLKUC9d5AmTb6J7Xd9U0uROavKPslHqKElfJbNNlbJtmopqvN2NHvzzI5iCWe7TlCYkQoAZBY5A2jfcmyALPeSDiZS5852MpHxpFYoLN1/yiw1735N3Tf/th7W6PjgytPHzKURKfJVLqWuhMsGJUupTHbMHG+BsuhLFZNN1wsswd/lq7qYU64wD5TW606JJsIIyTkhexADtICV79lBMAScQcjYRP6V+OpvD7tvNgJOTo0bUiTKZFzsCsJzgliy9s41+HG1LY1JuowSPyOpi79YFzUq3JZ7l4Yeg7BeN8SLHk21GXMxBHJJGi1dVpQIPPuNX;31:JP5qw3abnG59yOXPJ24+P9otPq1NVZBEZtAtnxTE2r8WPsa0QPHSZpvHx7aR2WifOkF50UJtHF+cTh+guj3TuylfYyJ/wroDnjANYHCU+887C/qvLSx7fBeAtwQREQbICOXOQqjHZXZPgX5fnkfSLMsEvWv77UkhVp6oDlY2Cat/YYoxT42z5o87BvTt9S4JlyfLtSrpQbKXcbIBAfHy0GeCY2khhJy8vipOWHc4+/I= 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)(6043046)(6042046);SRVR:DB6PR0201MB2310;BCL:0;PCL:0;RULEID:;SRVR:DB6PR0201MB2310; X-Microsoft-Exchange-Diagnostics: 1;DB6PR0201MB2310;4:arP1xoNpuJvymE6ok/Pwl/aUpz/14aVAQQxWjvdHQA4WOWe1GnxEiUAZpGb0h/BtHeJE99VPJJxwReDj+vicdOI8p0m2YWbJX1jRNiTANco55EGbs4R7DrZKR6r+WC6rP/QT5HfgaXPuYW2PqjR7Oq6kDwkYkyEUJAwVUUA3FolIf/sV6cwgpMZwiHBXsdUdKPk66l/OLAX3iluiN4ofL3+Rg6gvaCBLEasoHhXvlhKFAJ36IY83wuCNNTRuHjkdEkVbTS1B2LxsATaVbvtgGXh8uugNAbzymS1G2ylQt3xF0LayRu31fOjRJdZ10i7kOa33SuDebObrHRfQnk3ZlSn2bZuTKVLLZEOqD9xyXLkimvibLi9Z8l6xL8E16M/4i9x23dhkzYkTPDCNwprrrQlQtGe25uY5vddzI1fvkmI= X-Forefront-PRVS: 00603B7EEF X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6049001)(6009001)(7916002)(377424004)(24454002)(199003)(189002)(68736007)(31696002)(33646002)(305945005)(76176999)(5660300001)(36756003)(31686004)(5001770100001)(47776003)(83506001)(77096005)(65826007)(50986999)(23746002)(86362001)(65806001)(97736004)(42186005)(19580395003)(54356999)(66066001)(65956001)(4001350100001)(19580405001)(586003)(64126003)(2950100001)(101416001)(8676002)(74482002)(7736002)(230700001)(4326007)(189998001)(81156014)(3846002)(117156001)(92566002)(50466002)(81166006)(105586002)(2906002)(7846002)(106356001)(6116002)(42262002);DIR:OUT;SFP:1102;SCL:1;SRVR:DB6PR0201MB2310;H:[192.168.0.125];FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1;DB6PR0201MB2310;23:oj4hGsmbn/tLHqyfpoWhFwLsQdH+kyqIlQQ?= =?Windows-1252?Q?dLcdV13C+BAGg4h+bgOSnmVSPCwuCkVL8to5FaDjLQvPqoD7BEvFOCaS?= =?Windows-1252?Q?dnVrQ7cd2BwlXKL5tmiAzMMxDevobjHJ8IhsT7jD7aVfS6Q3DyISiaKE?= =?Windows-1252?Q?DYDqrPFN6st1f0YG7S44rQQvT0thn2VDr3Zvx6YSleib8uji34gwxiHg?= =?Windows-1252?Q?GGF9mjwQg8PhQAxQFsvpBXgqI7cVI3xU48H3TXX7/AxVdAJ9fJ4oGXHC?= =?Windows-1252?Q?fuF8WimqsaXa0Ql0e+Ncr6Y3ef2tbY+kdYMLl/WFzURO+T2fW1lkfFfi?= =?Windows-1252?Q?cK7fnjYFeoOfRvlQfwCACCF+2pIXCbJBo8/yig6jTc99gonhmtWSKzZd?= =?Windows-1252?Q?/qCYAxEtVGW4DNv6uOzVUeEc08f5VQ9hHXHdp2b0wCA2Gqrl49/5WXJ2?= =?Windows-1252?Q?bBACj758LJg2YmmqhICF6sgIm54A46Ak8Oyh0oX9FAbakvks42QmVMYd?= =?Windows-1252?Q?aOoUeKj78sWwHC3qzR+R2CIW89wHLZfaEGdEjBnUqmJN2JLIVlUld/fg?= =?Windows-1252?Q?MGZA6XL6Q1H7bHP4+oV6VSK2aMttq9dZH8EaQi+bXHcqudeRy0UyjRj/?= =?Windows-1252?Q?cTVS4RpzkC0iXPDTUd4tQ8oaVTCYdFe3YZSfZzIDw/ahU1E2ebLST81F?= =?Windows-1252?Q?ybeZuCOK6txTxScxUu+/UWX8SBQbZbuWyhU6BFK2LUNqnVoyNpilwSlw?= =?Windows-1252?Q?udOCa0bMcoStUw/c7TNUqhpa28fevIzP3P2xBp5RI+/s8hpfoiHH+psG?= =?Windows-1252?Q?V/SNSTAHdjh5hsy8LrBdqanIVSKA1UytvZkG7z6aD49is7QzzsuhTKW1?= =?Windows-1252?Q?6aFYwVNki4hr4s8psmhQWGMIQpHVuBbko6Ui+mlHo5UblpapnRDQ+p1t?= =?Windows-1252?Q?i5yn+4KgJNyBAE7cjrgquZ6t2YsOHsIoVUzyadqFrzn+3INpueXXR6qA?= =?Windows-1252?Q?9Ieg4SGWjbp9eboqc8U72jCu7PklEx1NJiApFQF1yTKjvfxLSz39R64s?= =?Windows-1252?Q?Qr3kkJEDdoKrSgXSxT2ySnIXzHFU4MT/9r6YpJDww3XvyVpqNi8g2+vC?= =?Windows-1252?Q?vYy1wfuIFjCjKHp2Ly5658dnK6QcoYpkfuwJhCJTPiGnbn7kKYeCqVyk?= =?Windows-1252?Q?zh+oxTcpWSW/bSSEFwWQSmWK0wiPhq1z+CPXIdguQAhOb76Hz4hMe7wL?= =?Windows-1252?Q?oy87el1HZtWHBT7I8FGEckOkG+HFkSyMssxA5eid81XpVzycyxqFdZns?= =?Windows-1252?Q?FqUiafChVp/RLqIwHO2PiAtSvi0v0LcIl+/Dv4Mjk0YB5FtTnLcWsTen?= =?Windows-1252?Q?UxqtTsV1IFJqd7SnwjEQgs+ZXJLqxNS6Ox96QHzRtPIFDQbT2nLo+r+c?= =?Windows-1252?Q?r5Wusi7QNtKCZtb/K/nOI?= X-Microsoft-Exchange-Diagnostics: 1;DB6PR0201MB2310;6:9332t1tOoUb9sIG6ixlmbqblQJZ2+XDR0QbdfjL9B4LeRmMbf6Y3iAYKYWaSeyHuE1IJxDNWVFRV2FvCr+5c0Sv9vecUkE27xeVYRUHYaz6VhX8eVunbJZmbGHD5IJfkA5P32pzxV1jie6ZChzxs/PLL63sgP8T/0ATFj14C3PV9YbS9A8ax2mlUXs8PHZQVHd2AlKO6trnMLHtKDk8DtGQKzTY2IHOF/ohCGdJVUiX9gsZBgAGQvp2T1bLX0jdkJXXrmZwNJUrJfiVz0/kRNOPB32Y9g87dIsP/ITZyFVHo5JwcGkfBpWq+ZXuNdr5m;5:uqFe6gKi2rxpb2fwfCY8amZ7jJ3cd2UN7hG0be+0awV0v+4lMyqWwm4KHONH3zWSsWQRT1oKTOOxG45Ckr5meYXiW8JzHV5i641isWh4Bc6CZBq89a+M6mPC9ncm4+CTj7NKaUZwNiEALlfy8ciVJA==;24:ZtHOtAjwDw5qVpkBE1XpZnHWD/vw4vDqyy2qciMLgFKUwiJQVyBGSYmXjBVR0wfJ03RYQ5wQy1ZYJ3IckoHSjULg+awpRlYc6ka6p2TbVZE=;7:jRy6ZEg0GXUZqSbGwnxc+CQsTsNGzjTE0u4LLglO6l6NgqgM4VYz8Tf+te37iMUkrTp+C4lxrPBNaeI8pkQxU/dcIEF6cGHvQPnwsiVUp7cTRda9oapPiv1JVHfTKz0SvMJKblFMY5kYYI266YIJKPBXIShMtzLLMYVZQB1kAtcsATsVVGHRo6GEpjXv+xqTyjSeuEZ4bKplxmOWdJZZm8bLKkj+lQG+bGw89FGZBMHciyCFgai5PGzJerp+FEDs SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: axentia.se X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Sep 2016 20:40:42.1431 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0201MB2310 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2016-09-07 22:05, jim_baxter@mentor.com wrote: > From: Jim Baxter > > This patchset adds a new i2c_mux_add_reparented_adapter API to the i2c > that allows owning modules to use module_get/module_put and stop the > i2c bus module being removed whilst in use. > > This was tested on an ARM i.MX6 Sabre board with the pca953x gpio module. > > Joshua Frkuska (2): > i2c-mux: add i2c_mux_add_reparented_adapter api > i2c-mux-gpio: call i2c_add_reparented_mux_adapter nitpick: Patch subjects for the second patch is wrong. "reparented" is a bit dual when dealing with i2c adapter trees. i2c_mux_add_owned_adapter is perhaps clearer? Aside from that, I'm not using modules much and need some enlightenment as to why the i2c_del_mux_adapter() call in i2c_mux_gpio_remove() is not sufficient and what exactly the problem is? Why would someone/something unload the i2c-mux module prematurely? Would it be an alternative to make i2c-mux a proper kernel object of some kind? I mean, why do not all other mux users also need to modify the owner? Why is i2c-mux-gpio special? CHeers, Peter