> >>>From: Giuseppe Cavallaro <peppe.cavallaro@xxxxxx> > >>> > >>>This patch adds a new logic inside the st pinctrl to manage > >>>an unsupported scenario: some sysconfig are not available! > >>> > >>>This is the case of STiH407 where, although documented, the > >>>following registers from SYSCFG_FLASH have been removed from the SoC. > >>> > >>>SYSTEM_CONFIG3040 > >>> Output Enable pad control for all PIO Alternate Functions > >>>and > >>>SYSTEM_ CONFIG3050 > >>> Pull Up pad control for all PIO Alternate Functions > >>> > >>>Without managing this condition an imprecise external abort > >>>will be detect. > >>> > >>>To do this the patch also reviews the st_parse_syscfgs > >>>and other routines to manipulate the registers only if > >>>actually available. > >>>In any case, for example the st_parse_syscfgs detected > >>>an error condition but no action was made in the > >>>st_pctl_probe_dt. > >>> > >>>Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> > >>>Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@xxxxxx> > >>>+ > >>>+static struct regmap_field *st_pc_get_value(struct device *dev, > >>>+ struct regmap *regmap, int bank, > >>>+ int data, int lsb, int msb) > >>>+{ > >>>+ struct reg_field reg = REG_FIELD((data + bank) * 4, lsb, msb); > >>>+ > >>>+ if (data < 0) > >>>+ return NULL; > >> > >>What happens is data < 0 and it's used in REG_FIELD? > >Nothing bad, but I agree this is not crystal clear. > > > >>Would it make more sense to make this check before calling REG_FIELD? > >Yes, it will be done in the v4. > > Finally, I have to keep it as it was if I want this patch to compile. Ah, why's that? -- Lee Jones Linaro STMicroelectronics Landing Team Lead Linaro.org │ Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog -- To unsubscribe from this list: send the line "unsubscribe linux-doc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html