Messages in this thread | | | Subject | Re: [PATCH v2 3/4] watchdog: iTCO_wdt: Fix PMC GCR memory mapping failure | From | sathyanarayanan kuppuswamy <> | Date | Fri, 17 Mar 2017 10:37:59 -0700 |
| |
On 03/17/2017 07:25 AM, Andy Shevchenko wrote: > On Fri, Mar 17, 2017 at 3:40 PM, Guenter Roeck <linux@roeck-us.net> wrote: >> On 03/17/2017 04:43 AM, Rajneesh Bhardwaj wrote: >>> On Thu, Mar 16, 2017 at 05:41:35PM -0700, Kuppuswamy Sathyanarayanan >>> wrote: >>>> Currently, iTCO watchdog driver uses memory map to access >>>> PMC_CFG GCR register. But the entire GCR address space is >>>> already mapped in intel_scu_ipc driver. So remapping the >> I don't think I (or the watchdog mailing list) was copied on the original >> patch. >> Major immediate concern is that this introduces a dependency on external >> code. >> The pmc_ipc driver's Kconfig entry states "This is not needed for PC-type >> machines". I don't know where the function is introduced, but I hope this >> change >> does not require the pmc_ipc code to be present on such machines for the >> watchdog >> to work. It would be bad if it does. If it doesn't, it appears that the >> function >> should not be declared in asm/intel_pmc_ipc.h. > Agree. > > I already asked once [1] to fix up the mess we have in PDx86 regarding SCU IPC. > (PMC IPC how it's called is actually just a [main] part of SCU in newer SoCs). > > Rajneesh, Kuppuswamy, > please pay attention on the below. > > We have two libraries doing almost the same (basics) one for old > platforms, one for new. > > My vision what should be done before we go further is: > 1. Split out common part from intel_scu_ipc and intel_pmc_ipc to some library. I think we should create MFD driver for PMC and remove the redundant resource and platform device creation codes. Yes, there is common code in IPC implementation between scu_ipc and pmc_ipc code. This needs be modularized.
I can work on it and send a RFC patch for this cleanup. But it could take more time for merging this cleanup patch. So I think, in the mean time, we should merge this watchdog fix first to remove iTCO watchdog device probe issue. > 2. Move headers to linux/platform_data/x86 for sharing with drivers > that are supporting non-Intel / not-newest-Intel hardware. > 3. Fix the mess inside the intel_pmc_ipc code (like use devm_() > helpers where it makes sense, no use of global variables, etc) Agreed. > > On top of that > 4. Fix up Whiskey Cove PMIC code (See Hans' message [2] for the details) > > [1] Oops, it happened on internal mailing list Jan 27. And mentioned > publicly after in a review on some patch here. > [2] http://lkml.iu.edu/hypermail/linux/kernel/1702.3/01408.html >
-- Sathyanarayanan Kuppuswamy Android kernel developer
| |