{
        const struct of_device_id *match;
        const struct img_ascii_lcd_config *cfg;
+       struct device *dev = &pdev->dev;
        struct img_ascii_lcd_ctx *ctx;
        int err;
 
-       match = of_match_device(img_ascii_lcd_matches, &pdev->dev);
+       match = of_match_device(img_ascii_lcd_matches, dev);
        if (!match)
                return -ENODEV;
 
        cfg = match->data;
-       ctx = devm_kzalloc(&pdev->dev, sizeof(*ctx) + cfg->num_chars,
-                          GFP_KERNEL);
+       ctx = devm_kzalloc(dev, sizeof(*ctx) + cfg->num_chars, GFP_KERNEL);
        if (!ctx)
                return -ENOMEM;
 
        if (cfg->external_regmap) {
-               ctx->regmap = syscon_node_to_regmap(pdev->dev.parent->of_node);
+               ctx->regmap = syscon_node_to_regmap(dev->parent->of_node);
                if (IS_ERR(ctx->regmap))
                        return PTR_ERR(ctx->regmap);
 
-               if (of_property_read_u32(pdev->dev.of_node, "offset",
-                                        &ctx->offset))
+               if (of_property_read_u32(dev->of_node, "offset", &ctx->offset))
                        return -EINVAL;
        } else {
                ctx->base = devm_platform_ioremap_resource(pdev, 0);
        if (err)
                goto out_del_timer;
 
-       err = device_create_file(&pdev->dev, &dev_attr_message);
+       err = device_create_file(dev, &dev_attr_message);
        if (err)
                goto out_del_timer;