From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7C9FFC4332F for ; Fri, 10 Nov 2023 18:23:05 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1345714AbjKJSXF (ORCPT ); Fri, 10 Nov 2023 13:23:05 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50598 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1346305AbjKJSVM (ORCPT ); Fri, 10 Nov 2023 13:21:12 -0500 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B7A977ECC for ; Thu, 9 Nov 2023 22:52:17 -0800 (PST) Received: by smtp.kernel.org (Postfix) with ESMTPSA id C1316C433C9; Fri, 10 Nov 2023 04:26:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1699590407; bh=JxZCpSm1kqC+R+e83RfxzXa5n+CaQYu1rpOKJU4fHEA=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=ilnOPJ/iNvgeKfC6n/vMMS4pyiQ3o7Bxh+4xnLKiMVs4JEQByAWOjidu1k+rGbpbi 8c3NIYHGZMA7jPlyV+hD9P6J6cEsyUzkLbc02Zily3KmP4Nv7/LSkRBZV4S03tVrQO 3rMWPmO9ppKALkP2RNe6wPEb3jpF8WVK7WFlHu4E= Date: Fri, 10 Nov 2023 05:26:44 +0100 From: Greg KH To: Shree Ramamoorthy Cc: Julien Panis , Gairuboina Sirisha , arnd@arndb.de, krzysztof.kozlowski+dt@linaro.org, lee@kernel.org, linux-kernel@vger.kernel.org, d-gole@ti.com Subject: Re: [PATCH v1 0/3] TPS65224 PMIC driver Message-ID: <2023111007-siamese-crepe-9775@gregkh> References: <20231107113740.1034738-1-sirisha.gairuboina@Ltts.com> <2f467b0a-1d11-4ec7-8ca6-6c4ba66e5887@baylibre.com> <818ecf7b-cd91-45ca-bb92-65f10f1ca1f0@ti.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <818ecf7b-cd91-45ca-bb92-65f10f1ca1f0@ti.com> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Nov 09, 2023 at 10:22:00AM -0600, Shree Ramamoorthy wrote: > > I compared 'tps65224.h' with 'tps6594.h', especially register mapping. > > There are less resources in TPS65224, but I don't see any incompatibility > > between both PMIC register mappings. Some registers are not used by > > your TPS65224, and some interrupts are not used either (that's not a > > problem, they will not trigger, so). Beyond that, I2C and PFSM drivers > > perform the same things for both PMICs. That's why according to me, > > nothing prevents from re-using TPS6594 drivers. Even for ADC, which is > > specific to your TPS65224 indeed, the register range does not overlap > > with any of TPS6594 registers. You could conditionally add this driver > > (that's what we did in  'tps6594-core.c' for RTC driver, which is not > > used > > for one of the compatibles: you can do something similar for ADC). > > You will probably add support for others TPS65224 drivers over the next > > weeks: SPI, ESM, RTC, GPIOs, regulators, watchdog, and ADC. Most of them > > should be compatible with both TPS6594 and TPS65224, I think (even > > watchdog driver, which was not developed for TPS6594). ADC will not, > > but as explained above you can easily deal with this one thanks to > > the compatible. > > For 'tps65224-core.c' only, a little bit of work might be necessary to > > handle your TPS65224 specific functionalities. By using a different DT > > compatible string, your driver can then select different options (or > > maybe > > even different register ranges) for some features based on the > > compatible. > > But except for 'tps65xx-core.c', there is "sufficient overlap" to justify > > sharing as much as possible between TPS65224 and TPS6594, in my > > opinion. > > > TI is positioning TPS65224 as a separate family from TPS6594, but shared > software drivers for PMICs that have different use cases would lead to > confusion. Why? No one cares what a driver's name is, only that it works for their hardware. What different "use case" would cause problems here? > Re-scoping the project to accommodate these suggestions would > negatively affect the timeline we are trying to meet. There are no timelines/deadlines with kernel development, sorry, that's not our issue. > We want to include the > restructure that addresses the compatibility, register maps, and > functionality similarities, but it would best solved after the upcoming > deadline has been met. Again, no deadline here. Please do the work properly, that's all we care about. > With the growth of PMIC software device drivers, we > would prefer to have a separate series with the suggested changes and proper > naming convention to address that while they overlap, the two PMICs devices > are not a subset. Why does the name matter? Again, all that a user cares about is if their hardware device is supported, the name means nothing here. Please do the correct thing and add support for this device to the existing drivers, that's the correct thing to do. You will save time and energy and code in the long-run, which is the important thing. There is a reason that Linux drivers are, on average, 1/3 smaller than other operating systems. And that's because they share common code with other drivers. You aren't allowed to just copy an existing one and add a few changes and make a whole new driver, you need to modify the current one. thanks, greg k-h