From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S966491AbdDSQmU (ORCPT ); Wed, 19 Apr 2017 12:42:20 -0400 Received: from mail-eopbgr40103.outbound.protection.outlook.com ([40.107.4.103]:62903 "EHLO EUR03-DB5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S966421AbdDSQmR (ORCPT ); Wed, 19 Apr 2017 12:42:17 -0400 Authentication-Results: pengutronix.de; dkim=none (message not signed) header.d=none;pengutronix.de; dmarc=none action=none header.from=axentia.se; Subject: Re: [RFC 2/2] mux: mmio-based syscon mux controller To: Philipp Zabel , Steve Longerbeam References: <20170413154812.19597-1-p.zabel@pengutronix.de> <20170413154812.19597-2-p.zabel@pengutronix.de> <58fd5844-f24a-37cc-be81-26a716251860@gmail.com> <1492602613.2970.92.camel@pengutronix.de> <1492615640.2970.145.camel@pengutronix.de> <1492619554.2970.176.camel@pengutronix.de> CC: Rob Herring , Mark Rutland , Sakari Ailus , , , From: Peter Rosin Organization: Axentia Technologies AB Message-ID: <70cdfe16-7d70-b124-b9d0-7bf51989d947@axentia.se> Date: Wed, 19 Apr 2017 18:42:10 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 MIME-Version: 1.0 In-Reply-To: <1492619554.2970.176.camel@pengutronix.de> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-Originating-IP: [81.224.171.159] X-ClientProxiedBy: AM5PR0201CA0008.eurprd02.prod.outlook.com (10.169.248.18) To AM5PR0202MB2546.eurprd02.prod.outlook.com (10.173.89.7) X-MS-Office365-Filtering-Correlation-Id: 6e77ff84-6bc8-4677-7cd0-08d4874308a4 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(201703131423075);SRVR:AM5PR0202MB2546; X-Microsoft-Exchange-Diagnostics: 1;AM5PR0202MB2546;3:vtGI5ZjjmKZsWqkIzZwasp25++oOhcAIqqcPStB6Uaph/7PDat4FBjq2W774FaKM6SCEYMkOfECZhHehylc1nBUx9K1wfiz5enqkb92on/yaR7MjCJtl159SLvKMM/JWt2TvzF7U5RLgFL2V4KIszOdvGMuC1Rdk3P6864IK40S2uxkt1rOAK2Fx3OHaU6qUGmLU3Fvh0RLPwqSzA4P0Vi/tz4peXMXyfY4uNWbjUwy7HIjoK4UtFsJtkmiTSzhZJPzEJQMSiiXw6b/7jh42GR1LLcSd2ncT0Wzaw1frjH8=;25:4RK1NXEVfhErqeRbJIICWySCFX8XunvaHSIx2N/+PFuBaXODeK+SmvkbB9rqfNVMFXfIMqbMRPS7RHRi8RGW6ZzmsCC9SX54zKGAH0EW8ab92xnCJfa7TUF3GdSaeYQUPYQxe4O9qSAO+7LnxoGvOJqo0NSGWwAMhP880udBtTBgBpAI2lgLKeE/Sds/Vz0ZJTpP8uYYv2fw5WR5yKgK6YouRbUadHlAkat00GQbX726CiYlXL6/Wmz525RBMEXmQ1JNo1AJA/ov1tDwvnxhqxuQ9kQg0ZSnW6XFSFCg8FE235se1U8XCYKutZnoLGE3MmRDjMhWbZ8/iNjxN/1xUn1Vbbl74g893Ps6pxM/PW44lfi8henR+WMDYaK3BrG7Jacdu87uauENDyomngOO7bxqkei1dVkqG7p44tE6KbsACOv8VwPkb04GV1VZUsFWM8v9Jg7VMyd1yQ5c8Kol0w== X-Microsoft-Exchange-Diagnostics: 1;AM5PR0202MB2546;31:yEuIYVBQ5ocsXxgDIpXa5cXnh2RDluu8RuZFxXNI3sIG9ULf8CfeITXKZYhgBC9zFMSadxuXtjVe1/AtVA0tN92VDgzw91hlJOYNQhaA6UyAsqkKkoTt+kTjVMPyYuA1MZTu/X3wF1ZKSqg8RJDWqrQAfXYwFTZmXs2A1HkJdqmHMWSIlLFJPs/4aH/kuoUai7aEFrTiY3nla3H2YxjvOts4imPOvxO2u1lZerZOMYrHk8gg9F1OWwQcXPKFHPlQpL6ijXpl7GIrxRK5dvfDXb2NV9cWL/uDMr9xEtMJunU= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040450)(601004)(2401047)(5005006)(8121501046)(93006095)(93001095)(3002001)(10201501046)(6041248)(20161123564025)(20161123560025)(2016111802025)(20161123562025)(201703131423075)(201702281528075)(201703061421075)(20161123555025)(6072148)(6043046);SRVR:AM5PR0202MB2546;BCL:0;PCL:0;RULEID:;SRVR:AM5PR0202MB2546; X-Microsoft-Exchange-Diagnostics: 1;AM5PR0202MB2546;4:D//G+56U6tgLtnlHmFHCG1R3UDGskGRVICdGXF2or5eOJo3sPoG9BmSrhAndJwjApB7833iY6HLC5GX44cH5wHbuj9QTMRTYAzfez6BDSZcU5/f9Zk+XOEkhmlhMABjnPwCBg36evozjVii0ee8FDj+gdCAn7L2PBaEjmgIlyG1iOaZFR7r19MbE0V1b73Nh50ha4KJkK4b8g142m75QAM6r7tmeoe399JAD/zlptjz/Q9v6bleSMfDWiVCucBUEUoHxbpbrQ8THTaWFzkTru/qQ6vZV/v5zAptUSLYjj1Ohsgi80548EyV6tc4WClIZh5UDm7cLCXdmhhR0IxaRvKa8WOkxqq1hu8QzVnI0PJNUm48RW5ohIMBxDBX5yFwwDhF4+J51/P8RB9/Z4cjJB7/ZQSWoio8MsFmsnjYtoCBIlXHhR4Ut8KqzasSdepJ5J07VVIXuEblHKhq/Pjv8EBesvCjqZ92a84L5xgQOa9O9teco6U1WoiTFmhfsbxGVXs+hQzI7NX8mEJMP15w501fJzU4Jgjc5b0W+GxZGckbZUrn9Q6xrqF5UsiriEvjvzMA1fYTyrPn4/Uch7a1K+MNQa9ZfIzbcS6amYw2Ad5Hm1mU0TNb4LrkchhY+cNfv1+INpYO5c3cMlimB/0I93vzsPzo58Y9DeRxW2ykVtVqS7XWC6gAOApyWDAruRkmshkj88CXdHguQnDtoKZJfZCW2WuCvNRWZhfgo9OP7Yj5l3EaHVnwu1aO9bN7Vj6o61kegAdcCPFzpMaJSaydiVg== X-Forefront-PRVS: 028256169F X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6049001)(6009001)(39830400002)(39450400003)(39410400002)(39400400002)(24454002)(377454003)(377424004)(6116002)(76176999)(50986999)(38730400002)(4326008)(189998001)(33646002)(36756003)(54356999)(230700001)(3846002)(23676002)(74482002)(81166006)(2950100002)(8676002)(229853002)(86362001)(31696002)(54906002)(93886004)(47776003)(117156002)(4001350100001)(66066001)(305945005)(65956001)(77096006)(2906002)(6246003)(25786009)(65806001)(31686004)(53936002)(65826007)(6486002)(5660300001)(3260700006)(42186005)(53546009)(83506001)(90366009)(50466002)(42262002);DIR:OUT;SFP:1102;SCL:1;SRVR:AM5PR0202MB2546;H:[192.168.0.125];FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtBTTVQUjAyMDJNQjI1NDY7MjM6bkI0QmUxNmdnbWRHbXFvY1o2OEUyMlk5?= =?utf-8?B?MkJJd3lHd0d3QWdwZmxZSlNSS3p1SmxmcUY5c2pOOHhWLzhKTzloUElib1ds?= =?utf-8?B?Z0QyQVJVYlM5R1ZJaUJBeUhZS1NhVXdRaDNhTzZ4Zks2Q0VKRlJGS3hvUFFN?= =?utf-8?B?U3hwcUpHWmI0Vy9DLzR6ZEMrdkhGSXQwQzIvWkd0dmY3OEtxK3dzckQyYm95?= =?utf-8?B?YmZ3U1BaR3VRbVRKWE9RdFNjdnEvMjVFUHBOVFdvOGZXQjRuWmtkV3RlVmpJ?= =?utf-8?B?T1pBNW1NalhFQzNsbVU4MG9YQjZkRkVMa051c1lQS2ZSdEFsbU1ONXhOT2hE?= =?utf-8?B?M2ozNWVvUjNqMGQzY2JDNGtVdkNzSlJ1VkpvVnNXdDQ2cUxPUGRXUXlPRDUx?= =?utf-8?B?cW5Wb3VPd3BOYU5laytTVHVGUEJKRXRiMnRsRjZ5QU43K3ZGcG9NSDhXVnVT?= =?utf-8?B?aThtYmFTTWRTT2h1L1hXaklUYy9Cd0Nya3QxdGxTd3AwZ0wxWUNjRVp4M3VM?= =?utf-8?B?ODFJQzFObC9oMnhnV2U5U0gzbFZrWVVvemJtdGh0c0N3YWp5NThXWEpaWW1H?= =?utf-8?B?Qlo1S0JPcmhFaGNhT0l1Ujh1K29wUXNsQ3RaSUFLN1NCQWl4d0NMUjhQem1Y?= =?utf-8?B?dUh3R2FtZ1BLeGdTZkpvZWdxVEUybUkrM1ZoWG4yV2lPakRkNWtvcUwvQXB1?= =?utf-8?B?S1IxZVhrWEwrWTdjMmc4L0VhTnNENUY2RkNJTjUremFBMGs0U2UrTVVPN2Ew?= =?utf-8?B?eU9JdUp5dHJaZ2o4dnVuMEZwY05ycEJEVEsvTkNRclRUcmlSOUFKaFFmc1kr?= =?utf-8?B?WVNwaVFvL1BwNVBtUFNSM1JMdWdXVjNIdkFQS01TdUE1V1hJYWIzSHN5bzVV?= =?utf-8?B?bG9mTlR2UkFDT2RPQVIvb2lTWkFPUnl6M3I3ZlBjc0o5MmVuREUvZXVrazBW?= =?utf-8?B?T2tYNDJOYTRMTjBJNVQzVHZOZWw1Y3J2MmtzZEh3R240SXRDYUp4empEWjJ3?= =?utf-8?B?QzhmWU1MTGhGbHVHOWhVRXpnL0Y1OXF3T3JrYVpzVmpQRXdBd2pWdzBPMSs1?= =?utf-8?B?SWhCaThnSjlFQXBCSnVlMWJJeXlLVDVuZGFWa05PelFCdU9mREZabTZGenpR?= =?utf-8?B?dGl4QzlaN3dVLzlzUE1yRTl3aFFpQ2d5ZklJdUVBbVRDOElYN1RleUc3RWJO?= =?utf-8?B?SEJTUUE5NXZ4WHRSK281R3pJeGozOXB1K0VNcmJOVDVmZ0ozc1puZFBJQjht?= =?utf-8?B?ajdZMkUwd084WERPMmxJS1ZsY0ZraTUrN0hOc0tXZllxWVVpZ3VESDhvRkYz?= =?utf-8?B?dmtrOFdsb3dmMmdRSUJqajd3Q1M5T1FGRVlyc2t3VDh1ZGJMNlptMFNWa2s3?= =?utf-8?B?ZVhJNmlzY0RmS1RtaUZNNkJIUksvbnhpSGR3Rm0yNGpxYVRBSFZ4Z0NSSTk2?= =?utf-8?B?ejlaQllOZzZZNWpYNVAwYk55ZzZ4bW9VYzZMRjYrUExkajBKdnU4WnFvdjVN?= =?utf-8?B?M0phMXpyaUJZMDBWUkkxRmUyaEZaMTF1NXdramZOMzRJV0FCeDVGS0I0M2hP?= =?utf-8?B?eDlhRllqN2NhQ0h2S3V1QVM3ZVRYWTR0V0hnYUJ3MkFmSTlzUmMwdmc2NDg4?= =?utf-8?B?T0tXbnhOMjVrMEUzemw4SVBicVFZLytaa3htZGFRZ3M3ajUwc0VJdUZrMjJT?= =?utf-8?B?dVFRSjR6Z1B1VzhnVE9UOWkwdWhnRmxSVVZGQVp3Z3BMcTdUVEtxeGNaOXI3?= =?utf-8?B?dUhxVU50UThpcFZIT2hVVVQyRitwSDBsTnlveFRrN2ZPZHJTZkZqdGdSUmEv?= =?utf-8?Q?dXjA4VKREoR9zoU?= X-Microsoft-Exchange-Diagnostics: 1;AM5PR0202MB2546;6:HQ9Egz4imgum06gitMjlaosFNsZtadRV4bTqMV23hniNpmimZDUOwGce5TnlUXfJaOe03pqZ7WHd4aot9fXY8hjTxU/W7wLPtPWevQTvDRWMM/3ZEYsmTNnsUC+VoJIYquIjG4G/VJ52FF/42shEfMYuQGcr/bQ5/YdMVXK5gJ0hUyMyy4xfVMSApRWi6JpQr9XUqYwObBgtpPR8hjsg6hMh6SHCm/2COKeATL7fXr7lxwQqj6NaFK25FZfz3ZSLq8nijvy1SYKtC2mFISg8CpJslJ21fypOYavLCZlmEXT0uXlJ0GrXcjxb8emur+0o9fFAHh6timyCf+T+A92QljyRH4Zx0cxoazejYju6vLEMTdqz6eaSd+CXX71ktVI2zLbxD22goF66ihuwP5Uf9Qvdd1KgreDlVEHYRGaNqvc8x9FkT/2/GL5yv+7SOv4hnWONZ4b2BbSbiSssgwwKTQ==;5:YJXmACq2bpz+D7572seXNzvKEpuI3QgvZ779LWgLF9gHkFFbQJANVH2O2MEerovvwLTt5FjaLxNWAFjNRfMpIMgGgwAARyPaoWeKy3j+SQIDhYotwnuLNwWRo9wPUblu9K+Z+TqlWp2IubG8v7xOgQ==;24:01VyOKprfxsS+Wuj9yFh1fFpXqwDtpKE/bJvqDOReHeMUxIcP0kH2AUZWHjTX1rH+8LftsONG4KEnkYUWSP76LI6TNG51PwhZ/DUjF6Lc3c= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;AM5PR0202MB2546;7:1CiWz3e5NwFLqr3ou/r9OWMKV+1ionptbVpq2IvOud1fWUZ804KCfzYxw0bZirGCd6hJiiUBT0s1LEEA3h1VCD6ZhNMLYBxF6BZj52UA3DlnbyHeB+9U3nBqhJWvayktMe0tXNsLOLersn0qSmKXEETAdjFWT1BGfDLJxFvgyg+dXBWmCwsYKbJqqQojvdEi1SrX8KIDZY+V1ugPX6G3L+M0RUkfzLMOh0muNT8j7v93+zWwKD1Btc+wEFlgE7aIiyLIZw0oiLgI7ni7etiDuIup8bDyA5gPYkPg79OAkTBC4/na7wfpRiS3DveSRyQ7aa8pqdCSuub1bSfxASXpZw== X-OriginatorOrg: axentia.se X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Apr 2017 16:42:13.6582 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0202MB2546 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2017-04-19 18:32, Philipp Zabel wrote: > On Wed, 2017-04-19 at 09:23 -0700, Steve Longerbeam wrote: >> >> On 04/19/2017 08:27 AM, Philipp Zabel wrote: >>> On Wed, 2017-04-19 at 13:58 +0200, Peter Rosin wrote: >>>> On 2017-04-19 13:50, Philipp Zabel wrote: >>>>> On Thu, 2017-04-13 at 18:09 -0700, Steve Longerbeam wrote: >>>>>> >>>>>> On 04/13/2017 08:48 AM, Philipp Zabel wrote: >>>>>>> This adds a driver for mmio-based syscon multiplexers controlled by a >>>>>>> single bitfield in a syscon register range. >>>>>>> >>>>>>> Signed-off-by: Philipp Zabel >>>>>>> --- >>>>>>> drivers/mux/Kconfig | 13 +++++ >>>>>>> drivers/mux/Makefile | 1 + >>>>>>> drivers/mux/mux-syscon.c | 130 +++++++++++++++++++++++++++++++++++++++++++++++ >>>>>>> 3 files changed, 144 insertions(+) >>>>>>> create mode 100644 drivers/mux/mux-syscon.c >>>>>>> >>>>>>> diff --git a/drivers/mux/Kconfig b/drivers/mux/Kconfig >>>>>>> index 86668b4d2fc52..a5e6a3b01ac24 100644 >>>>>>> --- a/drivers/mux/Kconfig >>>>>>> +++ b/drivers/mux/Kconfig >>>>>>> @@ -43,4 +43,17 @@ config MUX_GPIO >>>>>>> To compile the driver as a module, choose M here: the module will >>>>>>> be called mux-gpio. >>>>>>> >>>>>>> +config MUX_SYSCON >>>>>> >>>>>> my preference would be CONFIG_MUX_MMIO. >>>>>> >>>>>>> + tristate "MMIO bitfield-controlled Multiplexer" >>>>>> >>>>>> "MMIO register bitfield-controlled Multiplexer" >>>>>> >>>>>> The rest looks good to me. >>>>> >>>>> I'll change those. mux-syscon.c should probably be renamed to >>>>> mux-mmio.c, too. >>>> >>>> I think I disagree. But I'm not familiar with syscon so I don't know. >>>> IIUC, syscon uses regmap to do mmio and this driver requires syscon >>>> to get at the regmap, and in the end this driver doesn't know anything >>>> about mmio. All it knows is syscon/regmap. >>> >>> That is a good point. Right now there is nothing MMIO about the driver >>> except for the hardware that I want it to handle. >>> >>>> If some warped syscon >>>> thing shows up that wraps something other than mmio in its regmap, >>>> this driver wouldn't care about it. And syscon is something that >>>> is also known in the DT world. Given that, I think everything in this >>>> driver should be named syscon and not mmio. >>>> >> >> My argument against using the name "syscon" in the device tree is that >> it is referring to a subsystem in the Linux kernel. Besides the fact >> that "syscon" does not clearly describe, at least to me, what sort of >> device this mux is. > > If I'm not mistaken, this point was not about the DT compatible > property, just about the driver name. > > I'm also in favor of keeping the "syscon" name out of the device tree as > far as it is still possible, for the same reasons. The i.MX6 muxes are > MMIO register bitfield muxes, but not "syscon muxes". The corresponding mux in the i2c-mux "sub-sub-system" is named i2c-mux-reg. It is about "raw" mmio, i.e. w/o syscon and regmap. Just for the record... Cheers, peda