if (device_is_compatible(dev, "pcm3052")) {
                        const u32 *addr;
                        printk(KERN_DEBUG PFX "found pcm3052\n");
-                       addr = get_property(dev, "reg", NULL);
+                       addr = of_get_property(dev, "reg", NULL);
                        if (!addr)
                                return -ENODEV;
                        return onyx_create(adapter, dev, (*addr)>>1);
 
                if (device_is_compatible(dev, "tas3004")) {
                        const u32 *addr;
                        printk(KERN_DEBUG PFX "found tas3004\n");
-                       addr = get_property(dev, "reg", NULL);
+                       addr = of_get_property(dev, "reg", NULL);
                        if (!addr)
                                continue;
                        return tas_create(adapter, dev, ((*addr) >> 1) & 0x7f);
                        const u32 *_addr;
                        u32 addr;
                        printk(KERN_DEBUG PFX "found 'deq' node\n");
-                       _addr = (u32 *) get_property(dev, "i2c-address", NULL);
+                       _addr = of_get_property(dev, "i2c-address", NULL);
                        if (!_addr)
                                continue;
                        addr = ((*_addr) >> 1) & 0x7f;
 
                if (!gpio)
                        return NULL;
                while ((np = of_get_next_child(gpio, np))) {
-                       audio_gpio = get_property(np, "audio-gpio", NULL);
+                       audio_gpio = of_get_property(np, "audio-gpio", NULL);
                        if (!audio_gpio)
                                continue;
                        if (strcmp(audio_gpio, name) == 0)
                        return NULL;
        }
 
-       reg = get_property(np, "reg", NULL);
+       reg = of_get_property(np, "reg", NULL);
        if (!reg)
                return NULL;
 
        if (*gpioptr < 0x50)
                *gpioptr += 0x50;
 
-       reg = get_property(np, "audio-gpio-active-state", NULL);
+       reg = of_get_property(np, "audio-gpio-active-state", NULL);
        if (!reg)
                /* Apple seems to default to 1, but
                 * that doesn't seem right at least on most
 
        if (codec->node && (strcmp(codec->node->name, "codec") == 0)) {
                snprintf(propname, sizeof(propname),
                         "platform-%s-codec-ref", codec->name);
-               ref = get_property(ldev->sound, propname, NULL);
+               ref = of_get_property(ldev->sound, propname, NULL);
                if (!ref) {
                        printk(KERN_INFO "snd-aoa-fabric-layout: "
                                "required property %s not present\n", propname);
 static int aoa_fabric_layout_probe(struct soundbus_dev *sdev)
 {
        struct device_node *sound = NULL;
-       unsigned int *layout_id;
+       const unsigned int *layout_id;
        struct layout *layout;
        struct layout_dev *ldev = NULL;
        int err;
        }
        if (!sound) return -ENODEV;
 
-       layout_id = (unsigned int *) get_property(sound, "layout-id", NULL);
+       layout_id = of_get_property(sound, "layout-id", NULL);
        if (!layout_id)
                goto outnodev;
        printk(KERN_INFO "snd-aoa-fabric-layout: found bus with layout %d\n",
 
         * it's not really legal to split it out with commas. We split it
         * up using a number of environment variables instead. */
 
-       compat = get_property(of->node, "compatible", &cplen);
+       compat = of_get_property(of->node, "compatible", &cplen);
        while (compat && cplen > 0) {
                envp[i++] = scratch;
                length = scnprintf (scratch, buffer_size,
 
        rc = of_address_to_resource(parent, pindex, res);
        if (rc)
                goto bail;
-       reg = get_property(np, "reg", NULL);
+       reg = of_get_property(np, "reg", NULL);
        if (reg == NULL) {
                rc = -ENXIO;
                goto bail;
                }
        }
        if (i == 1) {
-               const u32 *layout_id = get_property(sound, "layout-id", NULL);
+               const u32 *layout_id =
+                       of_get_property(sound, "layout-id", NULL);
                if (layout_id) {
                        layout = *layout_id;
                        snprintf(dev->sound.modalias, 32,
 
        while(np != 0) {
                if (name) {
                        const char *property =
-                               get_property(np,"audio-gpio",NULL);
+                               of_get_property(np,"audio-gpio",NULL);
                        if (property != 0 && strcmp(property,name) == 0)
                                break;
                } else if (compatible && device_is_compatible(np, compatible))
        }
        if (!np)
                return -ENODEV;
-       pp = get_property(np, "AAPL,address", NULL);
+       pp = of_get_property(np, "AAPL,address", NULL);
        if (!pp)
                return -ENODEV;
        *gpio_addr = (*pp) & 0x0000ffff;
-       pp = get_property(np, "audio-gpio-active-state", NULL);
+       pp = of_get_property(np, "audio-gpio-active-state", NULL);
        if (pp)
                *gpio_pol = *pp;
        else
 
                sound_device_id = 0;
                /* device ID appears post g3 b&w */
-               prop = get_property(info, "device-id", NULL);
+               prop = of_get_property(info, "device-id", NULL);
                if (prop != 0)
                        sound_device_id = *prop;
 
                /* look for a property saying what sample rates
                   are available */
 
-               prop = get_property(info, "sample-rates", &l);
+               prop = of_get_property(info, "sample-rates", &l);
                if (prop == 0)
-                       prop = get_property(info, "output-frame-rates", &l);
+                       prop = of_get_property(info, "output-frame-rates", &l);
 
                /* if it's there use it to set up frame rates */
                init_frame_rates(prop, l) ;
 
        tas_node = find_devices("deq");
        if (tas_node == NULL)
                return -ENODEV;
-       paddr = get_property(tas_node, "i2c-address", NULL);
+       paddr = of_get_property(tas_node, "i2c-address", NULL);
        if (paddr) {
                tas_i2c_address = (*paddr) >> 1;
                printk(KERN_INFO "using i2c address: 0x%x from device-tree\n",
 
 static int __init snd_pmac_detect(struct snd_pmac *chip)
 {
        struct device_node *sound = NULL;
-       unsigned int *prop, l;
+       const unsigned int *prop;
+       unsigned int l;
        struct macio_chip* macio;
 
        if (!machine_is(powermac))
        }
        if (! sound)
                return -ENODEV;
-       prop = (unsigned int *) get_property(sound, "sub-frame", NULL);
+       prop = of_get_property(sound, "sub-frame", NULL);
        if (prop && *prop < 16)
                chip->subframe = *prop;
-       prop = (unsigned int *) get_property(sound, "layout-id", NULL);
+       prop = of_get_property(sound, "layout-id", NULL);
        if (prop) {
                /* partly deprecate snd-powermac, for those machines
                 * that have a layout-id property for now */
                chip->freq_table = tumbler_freqs;
                chip->control_mask = MASK_IEPC | 0x11; /* disable IEE */
        }
-       prop = (unsigned int *)get_property(sound, "device-id", NULL);
+       prop = of_get_property(sound, "device-id", NULL);
        if (prop)
                chip->device_id = *prop;
        chip->has_iic = (find_devices("perch") != NULL);
 
        /* look for a property saying what sample rates
           are available */
-       prop = (unsigned int *) get_property(sound, "sample-rates", &l);
+       prop = of_get_property(sound, "sample-rates", &l);
        if (! prop)
-               prop = (unsigned int *) get_property(sound,
-                                                    "output-frame-rates", &l);
+               prop = of_get_property(sound, "output-frame-rates", &l);
        if (prop) {
                int i;
                chip->freqs_ok = 0;
 
                return NULL;
   
        for (np = np->child; np; np = np->sibling) {
-               const char *property = get_property(np, "audio-gpio", NULL);
+               const char *property = of_get_property(np, "audio-gpio", NULL);
                if (property && strcmp(property, name) == 0)
                        return np;
        }  
                return -ENODEV;
        }
 
-       base = get_property(node, "AAPL,address", NULL);
+       base = of_get_property(node, "AAPL,address", NULL);
        if (! base) {
-               base = get_property(node, "reg", NULL);
+               base = of_get_property(node, "reg", NULL);
                if (!base) {
                        DBG("(E) cannot find address for device %s !\n", device);
                        snd_printd("cannot find address for device %s\n", device);
 
        gp->addr = addr & 0x0000ffff;
        /* Try to find the active state, default to 0 ! */
-       base = get_property(node, "audio-gpio-active-state", NULL);
+       base = of_get_property(node, "audio-gpio-active-state", NULL);
        if (base) {
                gp->active_state = *base;
                gp->active_val = (*base) ? 0x5 : 0x4;
                 * as we don't yet have an interpreter for these things
                 */
                if (platform)
-                       prop = get_property(node, platform, NULL);
+                       prop = of_get_property(node, platform, NULL);
                if (prop) {
                        if (prop[3] == 0x9 && prop[4] == 0x9) {
                                gp->active_val = 0xd;
 {
        int i, err;
        struct pmac_tumbler *mix;
-       u32 *paddr;
+       const u32 *paddr;
        struct device_node *tas_node, *np;
        char *chipname;
 
 
        for (np = chip->node->child; np; np = np->sibling) {
                if (!strcmp(np->name, "sound")) {
-                       if (get_property(np, "has-anded-reset", NULL))
+                       if (of_get_property(np, "has-anded-reset", NULL))
                                mix->anded_reset = 1;
-                       if (get_property(np, "layout-id", NULL))
+                       if (of_get_property(np, "layout-id", NULL))
                                mix->reset_on_sleep = 0;
                        break;
                }
        if (tas_node == NULL)
                return -ENODEV;
 
-       paddr = (u32 *)get_property(tas_node, "i2c-address", NULL);
+       paddr = of_get_property(tas_node, "i2c-address", NULL);
        if (paddr == NULL)
-               paddr = (u32 *)get_property(tas_node, "reg", NULL);
+               paddr = of_get_property(tas_node, "reg", NULL);
        if (paddr)
                mix->i2c.addr = (*paddr) >> 1;
        else