[POWERPC] Rename get_property to of_get_property: sound
[powerpc.git] / sound / aoa / fabrics / snd-aoa-fabric-layout.c
index 04a7238..9880628 100644 (file)
@@ -77,23 +77,39 @@ struct layout {
        int pcmid;
 };
 
+MODULE_ALIAS("sound-layout-36");
 MODULE_ALIAS("sound-layout-41");
 MODULE_ALIAS("sound-layout-45");
+MODULE_ALIAS("sound-layout-47");
+MODULE_ALIAS("sound-layout-48");
+MODULE_ALIAS("sound-layout-49");
+MODULE_ALIAS("sound-layout-50");
 MODULE_ALIAS("sound-layout-51");
+MODULE_ALIAS("sound-layout-56");
+MODULE_ALIAS("sound-layout-57");
 MODULE_ALIAS("sound-layout-58");
 MODULE_ALIAS("sound-layout-60");
 MODULE_ALIAS("sound-layout-61");
+MODULE_ALIAS("sound-layout-62");
 MODULE_ALIAS("sound-layout-64");
 MODULE_ALIAS("sound-layout-65");
+MODULE_ALIAS("sound-layout-66");
+MODULE_ALIAS("sound-layout-67");
 MODULE_ALIAS("sound-layout-68");
 MODULE_ALIAS("sound-layout-69");
 MODULE_ALIAS("sound-layout-70");
 MODULE_ALIAS("sound-layout-72");
+MODULE_ALIAS("sound-layout-76");
 MODULE_ALIAS("sound-layout-80");
 MODULE_ALIAS("sound-layout-82");
 MODULE_ALIAS("sound-layout-84");
 MODULE_ALIAS("sound-layout-86");
+MODULE_ALIAS("sound-layout-90");
 MODULE_ALIAS("sound-layout-92");
+MODULE_ALIAS("sound-layout-94");
+MODULE_ALIAS("sound-layout-96");
+MODULE_ALIAS("sound-layout-98");
+MODULE_ALIAS("sound-layout-100");
 
 /* onyx with all but microphone connected */
 static struct codec_connection onyx_connections_nomic[] = {
@@ -381,6 +397,13 @@ static struct layout layouts[] = {
                .connections = toonie_connections,
          },
        },
+       {
+         .layout_id = 96,
+         .codecs[0] = {
+               .name = "onyx",
+               .connections = onyx_connections_noheadphones,
+         },
+       },
        /* unknown, untested, but this comes from Apple */
        { .layout_id = 41,
          .codecs[0] = {
@@ -479,12 +502,6 @@ static struct layout layouts[] = {
                .connections = onyx_connections_noheadphones,
          },
        },
-       { .layout_id = 96,
-         .codecs[0] = {
-               .name = "onyx",
-               .connections = onyx_connections_noheadphones,
-         },
-       },
        { .layout_id = 98,
          .codecs[0] = {
                .name = "toonie",
@@ -707,7 +724,7 @@ static int check_codec(struct aoa_codec *codec,
                       struct layout_dev *ldev,
                       struct codec_connect_info *cci)
 {
-       u32 *ref;
+       const u32 *ref;
        char propname[32];
        struct codec_connection *cc;
 
@@ -715,7 +732,7 @@ static int check_codec(struct aoa_codec *codec,
        if (codec->node && (strcmp(codec->node->name, "codec") == 0)) {
                snprintf(propname, sizeof(propname),
                         "platform-%s-codec-ref", codec->name);
-               ref = (u32*)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);
@@ -929,7 +946,7 @@ static struct aoa_fabric layout_fabric = {
 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;
@@ -945,14 +962,15 @@ static int aoa_fabric_layout_probe(struct soundbus_dev *sdev)
        }
        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 ", *layout_id);
+       printk(KERN_INFO "snd-aoa-fabric-layout: found bus with layout %d\n",
+              *layout_id);
 
        layout = find_layout_by_id(*layout_id);
        if (!layout) {
-               printk("(no idea how to handle)\n");
+               printk(KERN_ERR "snd-aoa-fabric-layout: unknown layout\n");
                goto outnodev;
        }
 
@@ -970,15 +988,17 @@ static int aoa_fabric_layout_probe(struct soundbus_dev *sdev)
        case 51: /* PowerBook5,4 */
        case 58: /* Mac Mini */
                ldev->gpio.methods = ftr_gpio_methods;
+               printk(KERN_DEBUG
+                      "snd-aoa-fabric-layout: Using direct GPIOs\n");
                break;
        default:
                ldev->gpio.methods = pmf_gpio_methods;
+               printk(KERN_DEBUG
+                      "snd-aoa-fabric-layout: Using PMF GPIOs\n");
        }
        ldev->selfptr_headphone.ptr = ldev;
        ldev->selfptr_lineout.ptr = ldev;
        sdev->ofdev.dev.driver_data = ldev;
-
-       printk("(using)\n");
        list_add(&ldev->list, &layouts_list);
        layouts_list_items++;
 
@@ -994,7 +1014,7 @@ static int aoa_fabric_layout_probe(struct soundbus_dev *sdev)
 
        ldev->gpio.methods->init(&ldev->gpio);
 
-       err = aoa_fabric_register(&layout_fabric);
+       err = aoa_fabric_register(&layout_fabric, &sdev->ofdev.dev);
        if (err && err != -EALREADY) {
                printk(KERN_INFO "snd-aoa-fabric-layout: can't use,"
                                 " another fabric is active!\n");
@@ -1014,9 +1034,9 @@ static int aoa_fabric_layout_probe(struct soundbus_dev *sdev)
        list_del(&ldev->list);
        layouts_list_items--;
  outnodev:
-       if (sound) of_node_put(sound);
+       of_node_put(sound);
        layout_device = NULL;
-       if (ldev) kfree(ldev);
+       kfree(ldev);
        return -ENODEV;
 }
 
@@ -1057,8 +1077,6 @@ static int aoa_fabric_layout_suspend(struct soundbus_dev *sdev, pm_message_t sta
 {
        struct layout_dev *ldev = sdev->ofdev.dev.driver_data;
 
-       printk("aoa_fabric_layout_suspend()\n");
-
        if (ldev->gpio.methods && ldev->gpio.methods->all_amps_off)
                ldev->gpio.methods->all_amps_off(&ldev->gpio);
 
@@ -1069,8 +1087,6 @@ static int aoa_fabric_layout_resume(struct soundbus_dev *sdev)
 {
        struct layout_dev *ldev = sdev->ofdev.dev.driver_data;
 
-       printk("aoa_fabric_layout_resume()\n");
-
        if (ldev->gpio.methods && ldev->gpio.methods->all_amps_off)
                ldev->gpio.methods->all_amps_restore(&ldev->gpio);
 
@@ -1087,6 +1103,9 @@ static struct soundbus_driver aoa_soundbus_driver = {
        .suspend = aoa_fabric_layout_suspend,
        .resume = aoa_fabric_layout_resume,
 #endif
+       .driver = {
+               .owner = THIS_MODULE,
+       }
 };
 
 static int __init aoa_fabric_layout_init(void)