diff options
Diffstat (limited to 'drivers/mfd/rn5t568.c')
-rw-r--r-- | drivers/mfd/rn5t568.c | 38 |
1 files changed, 9 insertions, 29 deletions
diff --git a/drivers/mfd/rn5t568.c b/drivers/mfd/rn5t568.c index c1c792cbec..f1e2eeb0c8 100644 --- a/drivers/mfd/rn5t568.c +++ b/drivers/mfd/rn5t568.c @@ -13,32 +13,10 @@ #include <i2c/i2c.h> #include <init.h> #include <of.h> -#include <regmap.h> +#include <linux/regmap.h> #include <reset_source.h> #include <restart.h> - -#define RN5T568_LSIVER 0x00 -#define RN5T568_OTPVER 0x01 -#define RN5T568_PONHIS 0x09 -# define RN5T568_PONHIS_ON_EXTINPON BIT(3) -# define RN5T568_PONHIS_ON_REPWRPON BIT(1) -# define RN5T568_PONHIS_ON_PWRONPON BIT(0) -#define RN5T568_POFFHIS 0x0a -# define RN5T568_POFFHIS_N_OEPOFF BIT(7) -# define RN5T568_POFFHIS_DCLIMPOFF BIT(6) -# define RN5T568_POFFHIS_WDGPOFF BIT(5) -# define RN5T568_POFFHIS_CPUPOFF BIT(4) -# define RN5T568_POFFHIS_IODETPOFF BIT(3) -# define RN5T568_POFFHIS_VINDETPOFF BIT(2) -# define RN5T568_POFFHIS_TSHUTPOFF BIT(1) -# define RN5T568_POFFHIS_PWRONPOFF BIT(0) -#define RN5T568_SLPCNT 0x0e -# define RN5T568_SLPCNT_SWPPWROFF BIT(0) -#define RN5T568_REPCNT 0x0f -# define RN5T568_REPCNT_OFF_RESETO_16MS 0x30 -# define RN5T568_REPCNT_OFF_REPWRTIM_1000MS 0x06 -# define RN5T568_REPCNT_OFF_REPWRON BIT(0) -#define RN5T568_MAX_REG 0xbc +#include <mfd/rn5t568.h> struct rn5t568 { struct restart_handler restart; @@ -52,7 +30,8 @@ static void rn5t568_restart(struct restart_handler *rst) regmap_write(rn5t568->regmap, RN5T568_SLPCNT, RN5T568_SLPCNT_SWPPWROFF); } -static int rn5t568_reset_reason_detect(struct device_d *dev, struct regmap *regmap) +static int rn5t568_reset_reason_detect(struct device *dev, + struct regmap *regmap) { unsigned int reg; int ret; @@ -111,7 +90,7 @@ static const struct regmap_config rn5t568_regmap_config = { .max_register = RN5T568_MAX_REG, }; -static int __init rn5t568_i2c_probe(struct device_d *dev) +static int __init rn5t568_i2c_probe(struct device *dev) { struct rn5t568 *pmic_instance; unsigned char reg[2]; @@ -138,7 +117,7 @@ static int __init rn5t568_i2c_probe(struct device_d *dev) regmap_write(pmic_instance->regmap, RN5T568_REPCNT, RN5T568_REPCNT_OFF_RESETO_16MS | RN5T568_REPCNT_OFF_REPWRTIM_1000MS | RN5T568_REPCNT_OFF_REPWRON); - pmic_instance->restart.priority = of_get_restart_priority(dev->device_node); + pmic_instance->restart.of_node = dev->of_node; pmic_instance->restart.name = "RN5T568"; pmic_instance->restart.restart = &rn5t568_restart; restart_handler_register(&pmic_instance->restart); @@ -148,15 +127,16 @@ static int __init rn5t568_i2c_probe(struct device_d *dev) if (ret) dev_warn(dev, "Failed to query reset reason\n"); - return of_platform_populate(dev->device_node, NULL, dev); + return of_platform_populate(dev->of_node, NULL, dev); } static __maybe_unused const struct of_device_id rn5t568_of_match[] = { { .compatible = "ricoh,rn5t568", .data = NULL, }, { } }; +MODULE_DEVICE_TABLE(of, rn5t568_of_match); -static struct driver_d rn5t568_i2c_driver = { +static struct driver rn5t568_i2c_driver = { .name = "rn5t568-i2c", .probe = rn5t568_i2c_probe, .of_compatible = DRV_OF_COMPAT(rn5t568_of_match), |