From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756088AbcFTSJN (ORCPT ); Mon, 20 Jun 2016 14:09:13 -0400 Received: from mga02.intel.com ([134.134.136.20]:62568 "EHLO mga02.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754595AbcFTSIP (ORCPT ); Mon, 20 Jun 2016 14:08:15 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.26,499,1459839600"; d="scan'208";a="722395124" Date: Mon, 20 Jun 2016 11:11:52 -0700 From: Bin Gao To: Lee Jones Cc: Zhang Rui , Eduardo Valentin , linux-kernel@vger.kernel.org, ysiyer , Ajay Thomas , Bin Gao , broonie@kernel.org Subject: Re: [PATCH v2] mfd: intel_soc_pmic_bxtwc: Add Intel BXT WhiskeyCove PMIC ADC thermal channel-zone mapping Message-ID: <20160620181152.GA39079@worksta> References: <20160616215843.GA65542@worksta> <20160617080159.GF21702@dell> <20160620041140.GA237834@worksta> <20160620084949.GA1465@dell> <20160620085200.GB1465@dell> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20160620085200.GB1465@dell> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Jun 20, 2016 at 09:52:00AM +0100, Lee Jones wrote: > > > > > +static struct trip_config_map str3_trip_config[] = { > > > > > + { > > > > > + .irq_reg = BXTWC_THRM2IRQ, > > > > > + .irq_mask = 0x10, > > > > > + .irq_en = BXTWC_MTHRM2IRQ, > > > > > + .irq_en_mask = 0x10, > > > > > + .evt_stat = BXTWC_STHRM2IRQ, > > > > > + .evt_mask = 0x10, > > > > > + .trip_num = 0 > > > > > + }, > > > > > +}; > > > > > > > > This looks like a register map to me. > > > > > > > > Can you use the regmap framework instead? > > > > > > These are platform data used by another driver(thermal driver) which > > > uses regmap framework to access some of the fields of the structure( > > > irq_reg, irq_en and evt_stat). > > > > I suggest you create the regmap here and pass it to the thermal driver > > instead. > > Better yet, why don't you just create the regmap in the thermal > driver? There is no need (in fact, it's not even allowed) to pass > register addresses though platform data. We did implement regmap in the acpi opregion driver(see drivers/acpi/pmic for details) for the PMIC device. Each individual driver, e.g. gpio, thermal, etc. will only access registers that belong to its logic unit. Since the shared regmap implementation is already there, a single individual driver doesn't need to implement again.