diff --git a/drivers/ata/pata_of_platform.c b/drivers/ata/pata_of_platform.c index b6b7af894d9d..201a32d0627f 100644 --- a/drivers/ata/pata_of_platform.c +++ b/drivers/ata/pata_of_platform.c @@ -32,7 +32,6 @@ static int pata_of_platform_probe(struct platform_device *ofdev) unsigned int reg_shift = 0; int pio_mode = 0; int pio_mask; - const u32 *prop; ret = of_address_to_resource(dn, 0, &io_res); if (ret) { @@ -50,13 +49,9 @@ static int pata_of_platform_probe(struct platform_device *ofdev) irq_res = platform_get_resource(ofdev, IORESOURCE_IRQ, 0); - prop = of_get_property(dn, "reg-shift", NULL); - if (prop) - reg_shift = be32_to_cpup(prop); + of_property_read_u32(dn, "reg-shift", ®_shift); - prop = of_get_property(dn, "pio-mode", NULL); - if (prop) { - pio_mode = be32_to_cpup(prop); + if (!of_property_read_u32(dn, "pio-mode", &pio_mode)) { if (pio_mode > 6) { dev_err(&ofdev->dev, "invalid pio-mode\n"); return -EINVAL;