From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751740AbdCQSyp (ORCPT ); Fri, 17 Mar 2017 14:54:45 -0400 Received: from mga02.intel.com ([134.134.136.20]:30099 "EHLO mga02.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751202AbdCQSym (ORCPT ); Fri, 17 Mar 2017 14:54:42 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.36,177,1486454400"; d="scan'208";a="945546402" Reply-To: sathyanarayanan.kuppuswamy@linux.intel.com Subject: Re: [PATCH v2 3/4] watchdog: iTCO_wdt: Fix PMC GCR memory mapping failure References: <2c41b3b6344f9cb455ac57e1e41aa229adb2867d.1489710235.git.sathyanarayanan.kuppuswamy@linux.intel.com> <20170317114313.GE24582@rajaneesh-OptiPlex-9010> <0a68f91f-e396-90aa-8337-cad3aa28a0f7@roeck-us.net> <4e054912-1e6c-b92a-05c5-75610e621c64@linux.intel.com> To: Andy Shevchenko Cc: Guenter Roeck , Rajneesh Bhardwaj , Andy Shevchenko , Zha Qipeng , "dvhart@infradead.org" , David Box , Platform Driver , "linux-kernel@vger.kernel.org" , linux-watchdog@vger.kernel.org, Wim Van Sebroeck From: sathyanarayanan kuppuswamy Organization: Intel Message-ID: Date: Fri, 17 Mar 2017 11:50:51 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.7.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Andy, On 03/17/2017 11:38 AM, Andy Shevchenko wrote: > On Fri, Mar 17, 2017 at 7:37 PM, sathyanarayanan kuppuswamy > wrote: >> On 03/17/2017 07:25 AM, Andy Shevchenko wrote: >>> On Fri, Mar 17, 2017 at 3:40 PM, Guenter Roeck 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? 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. Will send out the design document summarizing the issues we want to solve and a proposed design model. > >>> 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