|
@@ -47,11 +47,8 @@
|
|
|
#include <linux/io.h>
|
|
|
#include <asm/unaligned.h>
|
|
|
|
|
|
-/*
|
|
|
- * The following are used to debug the driver.
|
|
|
- */
|
|
|
+/* define to see debug info */
|
|
|
#define IDEFLOPPY_DEBUG_LOG 0
|
|
|
-#define IDEFLOPPY_DEBUG_INFO 0
|
|
|
|
|
|
/* #define IDEFLOPPY_DEBUG(fmt, args...) printk(KERN_INFO fmt, ## args) */
|
|
|
#define IDEFLOPPY_DEBUG( fmt, args... )
|
|
@@ -1303,15 +1300,12 @@ static sector_t idefloppy_capacity (ide_drive_t *drive)
|
|
|
}
|
|
|
|
|
|
/*
|
|
|
- * idefloppy_identify_device checks if we can support a drive,
|
|
|
- * based on the ATAPI IDENTIFY command results.
|
|
|
+ * Check whether we can support a drive, based on the ATAPI IDENTIFY command
|
|
|
+ * results.
|
|
|
*/
|
|
|
-static int idefloppy_identify_device (ide_drive_t *drive,struct hd_driveid *id)
|
|
|
+static int idefloppy_identify_device(ide_drive_t *drive, struct hd_driveid *id)
|
|
|
{
|
|
|
struct idefloppy_id_gcw gcw;
|
|
|
-#if IDEFLOPPY_DEBUG_INFO
|
|
|
- char buffer[80];
|
|
|
-#endif /* IDEFLOPPY_DEBUG_INFO */
|
|
|
|
|
|
*((u16 *) &gcw) = id->config;
|
|
|
|
|
@@ -1320,54 +1314,23 @@ static int idefloppy_identify_device (ide_drive_t *drive,struct hd_driveid *id)
|
|
|
if ((gcw.device_type == 5) &&
|
|
|
!strstr(id->model, "CD-ROM") &&
|
|
|
strstr(id->model, "ZIP"))
|
|
|
- gcw.device_type = 0;
|
|
|
+ gcw.device_type = 0;
|
|
|
#endif
|
|
|
|
|
|
-#if IDEFLOPPY_DEBUG_INFO
|
|
|
- printk(KERN_INFO "Dumping ATAPI Identify Device floppy parameters\n");
|
|
|
- switch (gcw.protocol) {
|
|
|
- case 0: case 1: sprintf(buffer, "ATA");break;
|
|
|
- case 2: sprintf(buffer, "ATAPI");break;
|
|
|
- case 3: sprintf(buffer, "Reserved (Unknown to ide-floppy)");break;
|
|
|
- }
|
|
|
- printk(KERN_INFO "Protocol Type: %s\n", buffer);
|
|
|
- switch (gcw.device_type) {
|
|
|
- case 0: sprintf(buffer, "Direct-access Device");break;
|
|
|
- case 1: sprintf(buffer, "Streaming Tape Device");break;
|
|
|
- case 2: case 3: case 4: sprintf (buffer, "Reserved");break;
|
|
|
- case 5: sprintf(buffer, "CD-ROM Device");break;
|
|
|
- case 6: sprintf(buffer, "Reserved");
|
|
|
- case 7: sprintf(buffer, "Optical memory Device");break;
|
|
|
- case 0x1f: sprintf(buffer, "Unknown or no Device type");break;
|
|
|
- default: sprintf(buffer, "Reserved");
|
|
|
- }
|
|
|
- printk(KERN_INFO "Device Type: %x - %s\n", gcw.device_type, buffer);
|
|
|
- printk(KERN_INFO "Removable: %s\n",gcw.removable ? "Yes":"No");
|
|
|
- switch (gcw.drq_type) {
|
|
|
- case 0: sprintf(buffer, "Microprocessor DRQ");break;
|
|
|
- case 1: sprintf(buffer, "Interrupt DRQ");break;
|
|
|
- case 2: sprintf(buffer, "Accelerated DRQ");break;
|
|
|
- case 3: sprintf(buffer, "Reserved");break;
|
|
|
- }
|
|
|
- printk(KERN_INFO "Command Packet DRQ Type: %s\n", buffer);
|
|
|
- switch (gcw.packet_size) {
|
|
|
- case 0: sprintf(buffer, "12 bytes");break;
|
|
|
- case 1: sprintf(buffer, "16 bytes");break;
|
|
|
- default: sprintf(buffer, "Reserved");break;
|
|
|
- }
|
|
|
- printk(KERN_INFO "Command Packet Size: %s\n", buffer);
|
|
|
-#endif /* IDEFLOPPY_DEBUG_INFO */
|
|
|
-
|
|
|
if (gcw.protocol != 2)
|
|
|
- printk(KERN_ERR "ide-floppy: Protocol is not ATAPI\n");
|
|
|
+ printk(KERN_ERR "ide-floppy: Protocol (0x%02x) is not ATAPI\n",
|
|
|
+ gcw.protocol);
|
|
|
else if (gcw.device_type != 0)
|
|
|
- printk(KERN_ERR "ide-floppy: Device type is not set to floppy\n");
|
|
|
+ printk(KERN_ERR "ide-floppy: Device type (0x%02x) is not set "
|
|
|
+ "to floppy\n", gcw.device_type);
|
|
|
else if (!gcw.removable)
|
|
|
printk(KERN_ERR "ide-floppy: The removable flag is not set\n");
|
|
|
else if (gcw.drq_type == 3) {
|
|
|
- printk(KERN_ERR "ide-floppy: Sorry, DRQ type %d not supported\n", gcw.drq_type);
|
|
|
+ printk(KERN_ERR "ide-floppy: Sorry, DRQ type (0x%02x) not "
|
|
|
+ "supported\n", gcw.drq_type);
|
|
|
} else if (gcw.packet_size != 0) {
|
|
|
- printk(KERN_ERR "ide-floppy: Packet size is not 12 bytes long\n");
|
|
|
+ printk(KERN_ERR "ide-floppy: Packet size (0x%02x) is not 12 "
|
|
|
+ "bytes long\n", gcw.packet_size);
|
|
|
} else
|
|
|
return 1;
|
|
|
return 0;
|