|
@@ -107,14 +107,13 @@ static int ltq_mm_probe(struct platform_device *pdev)
|
|
|
struct resource *res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
|
|
|
struct ltq_mm *chip;
|
|
|
const __be32 *shadow;
|
|
|
- int ret = 0;
|
|
|
|
|
|
if (!res) {
|
|
|
dev_err(&pdev->dev, "failed to get memory resource\n");
|
|
|
return -ENOENT;
|
|
|
}
|
|
|
|
|
|
- chip = kzalloc(sizeof(*chip), GFP_KERNEL);
|
|
|
+ chip = devm_kzalloc(&pdev->dev, sizeof(*chip), GFP_KERNEL);
|
|
|
if (!chip)
|
|
|
return -ENOMEM;
|
|
|
|
|
@@ -129,10 +128,7 @@ static int ltq_mm_probe(struct platform_device *pdev)
|
|
|
if (shadow)
|
|
|
chip->shadow = be32_to_cpu(*shadow);
|
|
|
|
|
|
- ret = of_mm_gpiochip_add(pdev->dev.of_node, &chip->mmchip);
|
|
|
- if (ret)
|
|
|
- kfree(chip);
|
|
|
- return ret;
|
|
|
+ return of_mm_gpiochip_add(pdev->dev.of_node, &chip->mmchip);
|
|
|
}
|
|
|
|
|
|
static const struct of_device_id ltq_mm_match[] = {
|