#include "cirrus.h"
#include "vg468.h"
#include "ricoh.h"
-#include "o2micro.h"
#ifdef DEBUG
static const char version[] =
static int pcic_init(struct pcmcia_socket *s)
{
int i;
+ struct resource res = { .start = 0, .end = 0x1000 };
pccard_io_map io = { 0, 0, 0, 0, 1 };
- pccard_mem_map mem = { 0, 0, 0, 0, 0, 0 };
+ pccard_mem_map mem = { .res = &res, .sys_stop = 0x1000, };
- mem.sys_stop = 0x1000;
for (i = 0; i < 2; i++) {
io.map = i;
pcic_set_io_map(s, &io);
{
int i, ret;
- if (driver_register(&i82365_driver))
- return -1;
+ ret = driver_register(&i82365_driver);
+ if (ret)
+ return ret;
+
+ ret = platform_device_register(&i82365_device);
+ if (ret) {
+ driver_unregister(&i82365_driver);
+ return ret;
+ }
printk(KERN_INFO "Intel ISA PCIC probe: ");
sockets = 0;
if (sockets == 0) {
printk("not found.\n");
+ platform_device_unregister(&i82365_device);
driver_unregister(&i82365_driver);
return -ENODEV;
}
- platform_device_register(&i82365_device);
-
/* Set up interrupt handler(s) */
if (grab_irq != 0)
request_irq(cs_irq, pcic_interrupt, 0, "i82365", pcic_interrupt);