On Fri, Mar 17, 2017 at 3:40 PM, Guenter Roeck <linux@xxxxxxxxxxxx> wrote:I think we should create MFD driver for PMC and remove the redundant resource and platform device creation codes.
On 03/17/2017 04:43 AM, Rajneesh Bhardwaj wrote:Agree.
On Thu, Mar 16, 2017 at 05:41:35PM -0700, Kuppuswamy SathyanarayananI don't think I (or the watchdog mailing list) was copied on the original
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
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.
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.
2. Move headers to linux/platform_data/x86 for sharing with driversAgreed.
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)
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