+ unsigned long data;
+
+ if (attr == &gpiommc_attr_register) {
-+ err = strict_strtoul(page, 10, &data);
++ err = kstrtoul(page, 10, &data);
+ if (err)
+ goto out;
+ err = -EINVAL;
+ }
+
+ if (attr == &gpiommc_attr_DI) {
-+ err = strict_strtoul(page, 10, &data);
++ err = kstrtoul(page, 10, &data);
+ if (err)
+ goto out;
+ err = -EINVAL;
+ goto out;
+ }
+ if (attr == &gpiommc_attr_DO) {
-+ err = strict_strtoul(page, 10, &data);
++ err = kstrtoul(page, 10, &data);
+ if (err)
+ goto out;
+ err = -EINVAL;
+ goto out;
+ }
+ if (attr == &gpiommc_attr_CLK) {
-+ err = strict_strtoul(page, 10, &data);
++ err = kstrtoul(page, 10, &data);
+ if (err)
+ goto out;
+ err = -EINVAL;
+ goto out;
+ }
+ if (attr == &gpiommc_attr_CS) {
-+ err = strict_strtoul(page, 10, &data);
++ err = kstrtoul(page, 10, &data);
+ if (err)
+ goto out;
+ err = -EINVAL;
+ goto out;
+ }
+ if (attr == &gpiommc_attr_CS_activelow) {
-+ err = strict_strtoul(page, 10, &data);
++ err = kstrtoul(page, 10, &data);
+ if (err)
+ goto out;
+ err = -EINVAL;
+ goto out;
+ }
+ if (attr == &gpiommc_attr_spimode) {
-+ err = strict_strtoul(page, 10, &data);
++ err = kstrtoul(page, 10, &data);
+ if (err)
+ goto out;
+ err = -EINVAL;
+ goto out;
+ }
+ if (attr == &gpiommc_attr_spidelay) {
-+ err = strict_strtoul(page, 10, &data);
++ err = kstrtoul(page, 10, &data);
+ if (err)
+ goto out;
+ err = -EINVAL;
+ goto out;
+ }
+ if (attr == &gpiommc_attr_max_bus_speed) {
-+ err = strict_strtoul(page, 10, &data);
++ err = kstrtoul(page, 10, &data);
+ if (err)
+ goto out;
+ err = -EINVAL;