[PATCH] pcmcia: move event handler
[safe/jmp/linux-2.6] / drivers / scsi / pcmcia / nsp_cs.c
index 496c412..c8755ad 100644 (file)
@@ -92,9 +92,7 @@ static Scsi_Host_Template nsp_driver_template = {
 #endif
        .info                    = nsp_info,
        .queuecommand            = nsp_queuecommand,
-/*     .eh_strategy_handler     = nsp_eh_strategy,*/
 /*     .eh_abort_handler        = nsp_eh_abort,*/
-/*     .eh_device_reset_handler = nsp_eh_device_reset,*/
        .eh_bus_reset_handler    = nsp_eh_bus_reset,
        .eh_host_reset_handler   = nsp_eh_host_reset,
        .can_queue               = 1,
@@ -1536,11 +1534,6 @@ nsp_proc_info(
 /* error handler                                                 */
 /*---------------------------------------------------------------*/
 
-/*static int nsp_eh_strategy(struct Scsi_Host *Shost)
-{
-       return FAILED;
-}*/
-
 /*
 static int nsp_eh_abort(Scsi_Cmnd *SCpnt)
 {
@@ -1549,14 +1542,6 @@ static int nsp_eh_abort(Scsi_Cmnd *SCpnt)
        return nsp_eh_bus_reset(SCpnt);
 }*/
 
-/*
-static int nsp_eh_device_reset(Scsi_Cmnd *SCpnt)
-{
-       nsp_dbg(NSP_DEBUG_BUSRESET, "%s: SCpnt=0x%p", SCpnt);
-
-       return FAILED;
-}*/
-
 static int nsp_bus_reset(nsp_hw_data *data)
 {
        unsigned int base = data->BaseAddress;
@@ -1657,11 +1642,6 @@ static dev_link_t *nsp_cs_attach(void)
        link->next               = dev_list;
        dev_list                 = link;
        client_reg.dev_info      = &dev_info;
-       client_reg.EventMask     =
-               CS_EVENT_CARD_INSERTION | CS_EVENT_CARD_REMOVAL |
-               CS_EVENT_RESET_PHYSICAL | CS_EVENT_CARD_RESET   |
-               CS_EVENT_PM_SUSPEND     | CS_EVENT_PM_RESUME     ;
-       client_reg.event_handler = &nsp_cs_event;
        client_reg.Version       = 0x0210;
        client_reg.event_callback_args.client_data = link;
        ret = pcmcia_register_client(&link->handle, &client_reg);
@@ -2140,13 +2120,27 @@ static int nsp_cs_event(event_t                event,
  *     module entry point
  *====================================================================*/
 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,68))
+static struct pcmcia_device_id nsp_cs_ids[] = {
+       PCMCIA_DEVICE_PROD_ID123("IO DATA", "CBSC16       ", "1", 0x547e66dc, 0x0d63a3fd, 0x51de003a),
+       PCMCIA_DEVICE_PROD_ID123("KME    ", "SCSI-CARD-001", "1", 0x534c02bc, 0x52008408, 0x51de003a),
+       PCMCIA_DEVICE_PROD_ID123("KME    ", "SCSI-CARD-002", "1", 0x534c02bc, 0xcb09d5b2, 0x51de003a),
+       PCMCIA_DEVICE_PROD_ID123("KME    ", "SCSI-CARD-003", "1", 0x534c02bc, 0xbc0ee524, 0x51de003a),
+       PCMCIA_DEVICE_PROD_ID123("KME    ", "SCSI-CARD-004", "1", 0x534c02bc, 0x226a7087, 0x51de003a),
+       PCMCIA_DEVICE_PROD_ID123("WBT", "NinjaSCSI-3", "R1.0", 0xc7ba805f, 0xfdc7c97d, 0x6973710e),
+       PCMCIA_DEVICE_PROD_ID123("WORKBIT", "UltraNinja-16", "1", 0x28191418, 0xb70f4b09, 0x51de003a),
+       PCMCIA_DEVICE_NULL
+};
+MODULE_DEVICE_TABLE(pcmcia, nsp_cs_ids);
+
 static struct pcmcia_driver nsp_driver = {
-       .owner          = THIS_MODULE,
-       .drv            = {
-               .name   = "nsp_cs",
+       .owner          = THIS_MODULE,
+       .drv            = {
+               .name   = "nsp_cs",
        },
-       .attach         = nsp_cs_attach,
-       .detach         = nsp_cs_detach,
+       .attach         = nsp_cs_attach,
+       .event          = nsp_cs_event,
+       .detach         = nsp_cs_detach,
+       .id_table       = nsp_cs_ids,
 };
 #endif