Lines Matching refs:mdev

29 static u32 men_lookup_uartclk(struct mcb_device *mdev)  in men_lookup_uartclk()  argument
34 dev_info(&mdev->dev, "%s on board %s\n", in men_lookup_uartclk()
35 dev_name(&mdev->dev), in men_lookup_uartclk()
36 mdev->bus->name); in men_lookup_uartclk()
37 if (strncmp(mdev->bus->name, "F075", 4) == 0) in men_lookup_uartclk()
39 else if (strncmp(mdev->bus->name, "F216", 4) == 0) in men_lookup_uartclk()
41 else if (strncmp(mdev->bus->name, "G215", 4) == 0) in men_lookup_uartclk()
43 else if (strncmp(mdev->bus->name, "F210", 4) == 0) in men_lookup_uartclk()
46 dev_info(&mdev->dev, in men_lookup_uartclk()
54 static int get_num_ports(struct mcb_device *mdev, in get_num_ports() argument
57 switch (mdev->id) { in get_num_ports()
65 dev_err(&mdev->dev, "no supported device!\n"); in get_num_ports()
70 static int serial_8250_men_mcb_probe(struct mcb_device *mdev, in serial_8250_men_mcb_probe() argument
79 mem = mcb_get_resource(mdev, IORESOURCE_MEM); in serial_8250_men_mcb_probe()
82 membase = devm_ioremap_resource(&mdev->dev, mem); in serial_8250_men_mcb_probe()
86 num_ports = get_num_ports(mdev, membase); in serial_8250_men_mcb_probe()
88 dev_dbg(&mdev->dev, "found a 16z%03u with %u ports\n", in serial_8250_men_mcb_probe()
89 mdev->id, num_ports); in serial_8250_men_mcb_probe()
92 dev_err(&mdev->dev, "unexpected number of ports: %u\n", in serial_8250_men_mcb_probe()
97 data = devm_kcalloc(&mdev->dev, num_ports, in serial_8250_men_mcb_probe()
103 mcb_set_drvdata(mdev, data); in serial_8250_men_mcb_probe()
106 data[i].uart.port.dev = mdev->dma_dev; in serial_8250_men_mcb_probe()
113 data[i].uart.port.uartclk = men_lookup_uartclk(mdev); in serial_8250_men_mcb_probe()
115 data[i].uart.port.irq = mcb_get_irq(mdev); in serial_8250_men_mcb_probe()
125 dev_err(&mdev->dev, "unable to register UART port\n"); in serial_8250_men_mcb_probe()
128 dev_info(&mdev->dev, "found MCB UART: ttyS%d\n", data[i].line); in serial_8250_men_mcb_probe()
134 static void serial_8250_men_mcb_remove(struct mcb_device *mdev) in serial_8250_men_mcb_remove() argument
137 struct serial_8250_men_mcb_data *data = mcb_get_drvdata(mdev); in serial_8250_men_mcb_remove()
142 num_ports = get_num_ports(mdev, data[0].uart.port.membase); in serial_8250_men_mcb_remove()
144 dev_err(&mdev->dev, "error retrieving number of ports!\n"); in serial_8250_men_mcb_remove()