Merge branch 'master' into upstream
[pandora-kernel.git] / drivers / serial / pmac_zilog.c
index 459c023..a3b99ca 100644 (file)
@@ -1400,8 +1400,8 @@ static struct uart_ops pmz_pops = {
 static int __init pmz_init_port(struct uart_pmac_port *uap)
 {
        struct device_node *np = uap->node;
-       char *conn;
-       struct slot_names_prop {
+       const char *conn;
+       const struct slot_names_prop {
                int     count;
                char    name[1];
        } *slots;
@@ -1443,8 +1443,8 @@ static int __init pmz_init_port(struct uart_pmac_port *uap)
                        uap->flags &= ~PMACZILOG_FLAG_HAS_DMA;
                        goto no_dma;
                }
-               uap->tx_dma_irq = np->intrs[1].line;
-               uap->rx_dma_irq = np->intrs[2].line;
+               uap->tx_dma_irq = irq_of_parse_and_map(np, 1);
+               uap->rx_dma_irq = irq_of_parse_and_map(np, 2);
        }
 no_dma:
 
@@ -1458,7 +1458,7 @@ no_dma:
                uap->flags |= PMACZILOG_FLAG_IS_IRDA;
        uap->port_type = PMAC_SCC_ASYNC;
        /* 1999 Powerbook G3 has slot-names property instead */
-       slots = (struct slot_names_prop *)get_property(np, "slot-names", &len);
+       slots = get_property(np, "slot-names", &len);
        if (slots && slots->count > 0) {
                if (strcmp(slots->name, "IrDA") == 0)
                        uap->flags |= PMACZILOG_FLAG_IS_IRDA;
@@ -1470,7 +1470,8 @@ no_dma:
        if (ZS_IS_INTMODEM(uap)) {
                struct device_node* i2c_modem = find_devices("i2c-modem");
                if (i2c_modem) {
-                       char* mid = get_property(i2c_modem, "modem-id", NULL);
+                       const char* mid =
+                               get_property(i2c_modem, "modem-id", NULL);
                        if (mid) switch(*mid) {
                        case 0x04 :
                        case 0x05 :
@@ -1491,7 +1492,7 @@ no_dma:
         * Init remaining bits of "port" structure
         */
        uap->port.iotype = UPIO_MEM;
-       uap->port.irq = np->intrs[0].line;
+       uap->port.irq = irq_of_parse_and_map(np, 0);
        uap->port.uartclk = ZS_CLOCK;
        uap->port.fifosize = 1;
        uap->port.ops = &pmz_pops;