diff options
Diffstat (limited to 'drivers/mfd/intel_soc_pmic_crc.c')
-rw-r--r-- | drivers/mfd/intel_soc_pmic_crc.c | 78 |
1 files changed, 16 insertions, 62 deletions
diff --git a/drivers/mfd/intel_soc_pmic_crc.c b/drivers/mfd/intel_soc_pmic_crc.c index 6d19a6d0fb97..b6ab72fa0569 100644 --- a/drivers/mfd/intel_soc_pmic_crc.c +++ b/drivers/mfd/intel_soc_pmic_crc.c @@ -1,25 +1,18 @@ +// SPDX-License-Identifier: GPL-2.0 /* - * intel_soc_pmic_crc.c - Device access for Crystal Cove PMIC + * Device access for Crystal Cove PMIC * * Copyright (C) 2013, 2014 Intel Corporation. All rights reserved. * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License version - * 2 as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * * Author: Yang, Bin <bin.yang@intel.com> * Author: Zhu, Lejun <lejun.zhu@linux.intel.com> */ -#include <linux/mfd/core.h> #include <linux/interrupt.h> #include <linux/regmap.h> +#include <linux/mfd/core.h> #include <linux/mfd/intel_soc_pmic.h> + #include "intel_soc_pmic_core.h" #define CRYSTAL_COVE_MAX_REGISTER 0xC6 @@ -36,48 +29,23 @@ #define CRYSTAL_COVE_IRQ_VHDMIOCP 6 static struct resource gpio_resources[] = { - { - .name = "GPIO", - .start = CRYSTAL_COVE_IRQ_GPIO, - .end = CRYSTAL_COVE_IRQ_GPIO, - .flags = IORESOURCE_IRQ, - }, + DEFINE_RES_IRQ_NAMED(CRYSTAL_COVE_IRQ_GPIO, "GPIO"), }; static struct resource pwrsrc_resources[] = { - { - .name = "PWRSRC", - .start = CRYSTAL_COVE_IRQ_PWRSRC, - .end = CRYSTAL_COVE_IRQ_PWRSRC, - .flags = IORESOURCE_IRQ, - }, + DEFINE_RES_IRQ_NAMED(CRYSTAL_COVE_IRQ_PWRSRC, "PWRSRC"), }; static struct resource adc_resources[] = { - { - .name = "ADC", - .start = CRYSTAL_COVE_IRQ_ADC, - .end = CRYSTAL_COVE_IRQ_ADC, - .flags = IORESOURCE_IRQ, - }, + DEFINE_RES_IRQ_NAMED(CRYSTAL_COVE_IRQ_ADC, "ADC"), }; static struct resource thermal_resources[] = { - { - .name = "THERMAL", - .start = CRYSTAL_COVE_IRQ_THRM, - .end = CRYSTAL_COVE_IRQ_THRM, - .flags = IORESOURCE_IRQ, - }, + DEFINE_RES_IRQ_NAMED(CRYSTAL_COVE_IRQ_THRM, "THERMAL"), }; static struct resource bcu_resources[] = { - { - .name = "BCU", - .start = CRYSTAL_COVE_IRQ_BCU, - .end = CRYSTAL_COVE_IRQ_BCU, - .flags = IORESOURCE_IRQ, - }, + DEFINE_RES_IRQ_NAMED(CRYSTAL_COVE_IRQ_BCU, "BCU"), }; static struct mfd_cell crystal_cove_byt_dev[] = { @@ -134,27 +102,13 @@ static const struct regmap_config crystal_cove_regmap_config = { }; static const struct regmap_irq crystal_cove_irqs[] = { - [CRYSTAL_COVE_IRQ_PWRSRC] = { - .mask = BIT(CRYSTAL_COVE_IRQ_PWRSRC), - }, - [CRYSTAL_COVE_IRQ_THRM] = { - .mask = BIT(CRYSTAL_COVE_IRQ_THRM), - }, - [CRYSTAL_COVE_IRQ_BCU] = { - .mask = BIT(CRYSTAL_COVE_IRQ_BCU), - }, - [CRYSTAL_COVE_IRQ_ADC] = { - .mask = BIT(CRYSTAL_COVE_IRQ_ADC), - }, - [CRYSTAL_COVE_IRQ_CHGR] = { - .mask = BIT(CRYSTAL_COVE_IRQ_CHGR), - }, - [CRYSTAL_COVE_IRQ_GPIO] = { - .mask = BIT(CRYSTAL_COVE_IRQ_GPIO), - }, - [CRYSTAL_COVE_IRQ_VHDMIOCP] = { - .mask = BIT(CRYSTAL_COVE_IRQ_VHDMIOCP), - }, + REGMAP_IRQ_REG(CRYSTAL_COVE_IRQ_PWRSRC, 0, BIT(CRYSTAL_COVE_IRQ_PWRSRC)), + REGMAP_IRQ_REG(CRYSTAL_COVE_IRQ_THRM, 0, BIT(CRYSTAL_COVE_IRQ_THRM)), + REGMAP_IRQ_REG(CRYSTAL_COVE_IRQ_BCU, 0, BIT(CRYSTAL_COVE_IRQ_BCU)), + REGMAP_IRQ_REG(CRYSTAL_COVE_IRQ_ADC, 0, BIT(CRYSTAL_COVE_IRQ_ADC)), + REGMAP_IRQ_REG(CRYSTAL_COVE_IRQ_CHGR, 0, BIT(CRYSTAL_COVE_IRQ_CHGR)), + REGMAP_IRQ_REG(CRYSTAL_COVE_IRQ_GPIO, 0, BIT(CRYSTAL_COVE_IRQ_GPIO)), + REGMAP_IRQ_REG(CRYSTAL_COVE_IRQ_VHDMIOCP, 0, BIT(CRYSTAL_COVE_IRQ_VHDMIOCP)), }; static const struct regmap_irq_chip crystal_cove_irq_chip = { |