Re: [PATCH v2 3/4] watchdog: iTCO_wdt: Fix PMC GCR memory mapping failure

From: Andy Shevchenko
Date: Fri Mar 17 2017 - 14:38:33 EST


On Fri, Mar 17, 2017 at 7:37 PM, sathyanarayanan kuppuswamy
<sathyanarayanan.kuppuswamy@xxxxxxxxxxxxxxx> wrote:
> On 03/17/2017 07:25 AM, Andy Shevchenko wrote:
>> On Fri, Mar 17, 2017 at 3:40 PM, Guenter Roeck <linux@xxxxxxxxxxxx> wrote:
>>> On 03/17/2017 04:43 AM, Rajneesh Bhardwaj wrote:
>>>> On Thu, Mar 16, 2017 at 05:41:35PM -0700, Kuppuswamy Sathyanarayanan
>>>> wrote:

>> 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.

I have heard already such excuses. Let's consider this as a "Last
Chinese Warning".

So, we consider reviewing applying *already floating around* patches
in exchange to looking forward for clean up next.
Do we have a deal?

Before you are going to implement anything in the code, please, share
a document (architectural point of view) how you would see things
should be done.
Also consider to address PMC (Atom drivers) and P-Unit drivers which
are related to SCU / IPC to have some structure.

>> 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

--
With Best Regards,
Andy Shevchenko