On Wed, Jun 28, 2023 at 12:47:50PM +0100, Mark Brown wrote: > On Wed, Jun 28, 2023 at 04:47:17PM +0800, cy_huang@xxxxxxxxxxx wrote: > > > + if (did == RT5733_CHIPDIE_ID) { > > + min_uV = RT5733_VOLT_MINUV; > > + max_uV = RT5733_VOLT_MAXUV; > > + step_uV = RT5733_VOLT_STPUV; > > + } else { > > + min_uV = RT5739_VOLT_MINUV; > > + max_uV = RT5739_VOLT_MAXUV; > > + step_uV = RT5739_VOLT_STPUV; > > + } > > It would be better to write these as switch statements so if any more > variants turn up they can be added more easily. Since the IC difference is only voltage range and step, They can be retrieved from the regulator description. To check DID here may not a good coding. I may rewrite it as below max_uV = desc->min_uV + desc->uV_step * (desc->n_voltages - 1); And put a switch case for DID check in 'init_regulator_desc'. Is it better?