Hi, Alessandro: On 2016?01?04? 21:59, Alessandro Zummo wrote: > On Mon, 4 Jan 2016 10:45:46 +0100 > Alexandre Belloni <alexandre.belloni at free-electrons.com> wrote: > >> I'm not sure it is useful to do that renaming. It is usual to have one >> driver that supports multiple chips named with the forst chip it >> supported. >> >> Also, what would happen if for example rk855 is not compatible at all >> with the previous implementations? > > Alexandre is absolutely right. There's no need to rename a driver, > it would just piss off people who are used to that name and > have it in their scripts. Like when your eth0 gets renamed > to some obscure enXXX <g>. > You and Alexandre are right. The rename is just make the driver more readable, i.e. let people know this driver suit for more PMIC no just rk808. In fact, I don't care the name is rk808 or rk8xx. The key change of this patch is try to dis-coupling rk808 driver and RTC driver. Because of register offset and function is vary between different PMIC, we believe it is hard to write one PMIC driver to suit all PMIC. So we hope RTC driver can share between all PMIC from rockchip. Please review this code: -static int rk808_rtc_probe(struct platform_device *pdev) +static int rk8xx_rtc_probe(struct platform_device *pdev) { - struct rk808 *rk808 = dev_get_drvdata(pdev->dev.parent); ... + struct i2c_client *client = to_i2c_client(pdev->dev.parent); ... - rk808_rtc->rk808 = rk808; + rk8xx_rtc->regmap = devm_regmap_init_i2c(client, + &rk8xx_rtc_regmap_config); ... + rk8xx_rtc->i2c = client; Old driver have struct rk808 pointer, which defined on include/linux/mfd/rk808.h If we write new PMIC driver, for example rk818, define a new struct rk818. How can we get this pointer from RTC driver? So another way to solve this problem is introduce common struct share between all PMIC driver. For example rk8xx. We solve this problem by create new regmap to access PMIC. As I say before, it make RTC driver independent of PMIC driver. Do you agree this change? Thanks! Huang, Tao