Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751384AbdHVFJr (ORCPT ); Tue, 22 Aug 2017 01:09:47 -0400 Received: from mail-pg0-f67.google.com ([74.125.83.67]:35506 "EHLO mail-pg0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751043AbdHVFJp (ORCPT ); Tue, 22 Aug 2017 01:09:45 -0400 Subject: Re: [RFC v1 4/6] platform: x86: Add generic Intel IPC driver To: Andy Shevchenko , Kuppuswamy Sathyanarayanan Cc: "x86@kernel.org" , Ingo Molnar , Zha Qipeng , "H. Peter Anvin" , "dvhart@infradead.org" , Thomas Gleixner , Andy Shevchenko , "linux-kernel@vger.kernel.org" , Platform Driver References: From: sathya Message-ID: Date: Mon, 21 Aug 2017 22:09:43 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-US Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1832 Lines: 56 Hi Andy, On 08/18/2017 05:38 AM, Andy Shevchenko wrote: > On Tue, Aug 1, 2017 at 9:13 PM, > wrote: >> From: Kuppuswamy Sathyanarayanan >> >> Currently intel_scu_ipc.c, intel_pmc_ipc.c and intel_punit_ipc.c >> redundantly implements the same IPC features and has lot of code >> duplication between them. This driver addresses this issue by grouping >> the common IPC functionalities under the same driver. >> >> Signed-off-by: Kuppuswamy Sathyanarayanan >> --- >> arch/x86/include/asm/intel_ipc_dev.h | 148 ++++++++++++ > No, it should go under include/linux/platform_data/x86/ > >> +/* >> + * intel_ipc_dev.h: IPC class device header file > No file names in the top of files. > >> + * >> + * (C) Copyright 2017 Intel Corporation >> + * >> + * This program is free software; you can redistribute it and/or >> + * modify it under the terms of the GNU General Public License >> + * as published by the Free Software Foundation; version 2 >> + * of the License. >> + * >> + */ >> +struct intel_ipc_dev_cfg { >> + void __iomem *base; >> + void __iomem *wrbuf_reg; >> + void __iomem *rbuf_reg; >> + void __iomem *sptr_reg; >> + void __iomem *dptr_reg; >> + void __iomem *status_reg; >> + void __iomem *cmd_reg; > No, you have to switch to regmap instead. Do you want me to register regmap in intel_pmc_ipc.c and pass this regmap pointer to devm_intel_ipc_dev_create() instead of regular mem address ? Please correct me if my understanding is incorrect. But I don't understand how this change will improve the design. > >> + int mode; >> + int irq; >> + int irqflags; >> + int chan_type; >> + bool use_msi; >> +}; > - Sathya