Re: [PATCH v2] mfd: intel_soc_pmic_bxtwc: Add Intel BXT WhiskeyCove PMIC ADC thermal channel-zone mapping

From: Bin Gao
Date: Mon Jun 20 2016 - 00:08:03 EST


On Fri, Jun 17, 2016 at 09:01:59AM +0100, Lee Jones wrote:
> > +static struct trip_config_map str0_trip_config[] = {
> > + {
> > + .irq_reg = BXTWC_THRM0IRQ,
> > + .irq_mask = 0x01,
> > + .irq_en = BXTWC_MTHRM0IRQ,
> > + .irq_en_mask = 0x01,
> > + .evt_stat = BXTWC_STHRM0IRQ,
> > + .evt_mask = 0x01,
> > + .trip_num = 0
> > + },
> > + {
> > + .irq_reg = BXTWC_THRM0IRQ,
> > + .irq_mask = 0x10,
> > + .irq_en = BXTWC_MTHRM0IRQ,
> > + .irq_en_mask = 0x10,
> > + .evt_stat = BXTWC_STHRM0IRQ,
> > + .evt_mask = 0x10,
> > + .trip_num = 1
> > + }
> > +};
> > +
> > +static struct trip_config_map str1_trip_config[] = {
> > + {
> > + .irq_reg = BXTWC_THRM0IRQ,
> > + .irq_mask = 0x02,
> > + .irq_en = BXTWC_MTHRM0IRQ,
> > + .irq_en_mask = 0x02,
> > + .evt_stat = BXTWC_STHRM0IRQ,
> > + .evt_mask = 0x02,
> > + .trip_num = 0
> > + },
> > + {
> > + .irq_reg = BXTWC_THRM0IRQ,
> > + .irq_mask = 0x20,
> > + .irq_en = BXTWC_MTHRM0IRQ,
> > + .irq_en_mask = 0x20,
> > + .evt_stat = BXTWC_STHRM0IRQ,
> > + .evt_mask = 0x20,
> > + .trip_num = 1
> > + },
> > +};
> > +
> > +static struct trip_config_map str2_trip_config[] = {
> > + {
> > + .irq_reg = BXTWC_THRM0IRQ,
> > + .irq_mask = 0x04,
> > + .irq_en = BXTWC_MTHRM0IRQ,
> > + .irq_en_mask = 0x04,
> > + .evt_stat = BXTWC_STHRM0IRQ,
> > + .evt_mask = 0x04,
> > + .trip_num = 0
> > + },
> > + {
> > + .irq_reg = BXTWC_THRM0IRQ,
> > + .irq_mask = 0x40,
> > + .irq_en = BXTWC_MTHRM0IRQ,
> > + .irq_en_mask = 0x40,
> > + .evt_stat = BXTWC_STHRM0IRQ,
> > + .evt_mask = 0x40,
> > + .trip_num = 1
> > + },
> > +};
> > +
> > +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).