ide-floppy: remove struct idefloppy_mode_parameter_header
authorBorislav Petkov <bbpetkov@yahoo.de>
Sat, 2 Feb 2008 18:56:34 +0000 (19:56 +0100)
committerBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Sat, 2 Feb 2008 18:56:34 +0000 (19:56 +0100)
Signed-off-by: Borislav Petkov <bbpetkov@yahoo.de>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
drivers/ide/ide-floppy.c

index 98df4023ecdff66c967c628df1189a200f34cad4..e9d11faec9bd3792624ecc271276e8b8485d0b26 100644 (file)
@@ -291,24 +291,6 @@ struct idefloppy_id_gcw {
 #define        IDEFLOPPY_CAPABILITIES_PAGE     0x1b
 #define IDEFLOPPY_FLEXIBLE_DISK_PAGE   0x05
 
-/*
- *     Mode Parameter Header for the MODE SENSE packet command
- */
-typedef struct {
-       u16             mode_data_length;       /* Length of the following data transfer */
-       u8              medium_type;            /* Medium Type */
-#if defined(__LITTLE_ENDIAN_BITFIELD)
-       unsigned        reserved3       :7;
-       unsigned        wp              :1;     /* Write protect */
-#elif defined(__BIG_ENDIAN_BITFIELD)
-       unsigned        wp              :1;     /* Write protect */
-       unsigned        reserved3       :7;
-#else
-#error "Bitfield endianness not defined! Check your byteorder.h"
-#endif
-       u8              reserved[4];
-} idefloppy_mode_parameter_header_t;
-
 static DEFINE_MUTEX(idefloppy_ref_mutex);
 
 #define to_ide_floppy(obj) container_of(obj, struct ide_floppy_obj, kref)
@@ -954,7 +936,7 @@ static void idefloppy_create_format_unit_cmd (idefloppy_pc_t *pc, int b, int l,
  */
 static void idefloppy_create_mode_sense_cmd (idefloppy_pc_t *pc, u8 page_code, u8 type)
 {
-       u16 length = sizeof(idefloppy_mode_parameter_header_t);
+       u16 length = 8; /* sizeof(Mode Parameter Header) = 8 Bytes */
        
        idefloppy_init_pc(pc);
        pc->c[0] = GPCMD_MODE_SENSE_10;
@@ -1120,7 +1102,6 @@ static int idefloppy_get_flexible_disk_page (ide_drive_t *drive)
 {
        idefloppy_floppy_t *floppy = drive->driver_data;
        idefloppy_pc_t pc;
-       idefloppy_mode_parameter_header_t *header;
        idefloppy_flexible_disk_page_t *page;
        int capacity, lba_capacity;
 
@@ -1130,10 +1111,9 @@ static int idefloppy_get_flexible_disk_page (ide_drive_t *drive)
                        "page parameters\n");
                return 1;
        }
-       header = (idefloppy_mode_parameter_header_t *) pc.buffer;
-       floppy->wp = header->wp;
+       floppy->wp = !!(pc.buffer[3] & 0x80);
        set_disk_ro(floppy->disk, floppy->wp);
-       page = (idefloppy_flexible_disk_page_t *) (header + 1);
+       page = (idefloppy_flexible_disk_page_t *) &pc.buffer[8];
 
        page->transfer_rate = be16_to_cpu(page->transfer_rate);
        page->sector_size = be16_to_cpu(page->sector_size);