37 #include <linux/device.h>
39 #include <linux/list.h>
40 #include <linux/slab.h>
41 #include <linux/module.h>
48 static void c67x00_probe_sie(
struct c67x00_sie *sie,
63 "Not using SIE %d as requested\n", sie->
sie_num);
68 "Unsupported configuration: 0x%x for SIE %d\n",
74 static void c67x00_remove_sie(
struct c67x00_sie *sie)
97 while (int_status != 0 && (count-- >= 0)) {
100 sie = &c67x00->
sie[
i];
105 sie->
irq(sie, int_status, msg);
111 dev_warn(&c67x00->
pdev->dev,
"Not all interrupts handled! "
112 "status = 0x%04x\n", int_status);
134 pdata = pdev->
dev.platform_data;
138 c67x00 = kzalloc(
sizeof(*c67x00),
GFP_KERNEL);
146 goto request_mem_failed;
149 if (!c67x00->
hpi.base) {
150 dev_err(&pdev->
dev,
"Unable to map HPI registers\n");
157 c67x00->
pdata = pdev->
dev.platform_data;
166 goto request_irq_failed;
176 c67x00_probe_sie(&c67x00->
sie[i], c67x00, i);
178 platform_set_drvdata(pdev, c67x00);
201 c67x00_remove_sie(&c67x00->
sie[i]);
221 .probe = c67x00_drv_probe,
231 MODULE_AUTHOR(
"Peter Korsgaard, Jan Veldeman, Grant Likely");