Commit 682a9c41 authored by Martin Dalecki's avatar Martin Dalecki Committed by Linus Torvalds

[PATCH] 2.5.14 IDE 57

Nuke /proc/ide. For explanations why, please see the frustrated comments in the
previous change log. If one still don't see why it wasn't a good thing,
well please just take a look at the following:

Kernel size before:

    text    data     bss     dec     hex filename
1716049  403968  470252 2590269  27863d vmlinux

Kernel size after:

    text    data     bss     dec     hex filename
1680993  403488  470124 2554605  26faed vmlinux

2% of overall size! And this is not exactly an minimalistic setup.
parent 470d15bb
......@@ -72,8 +72,6 @@ obj-$(CONFIG_BLK_DEV_ATARAID) += ataraid.o
obj-$(CONFIG_BLK_DEV_ATARAID_PDC) += pdcraid.o
obj-$(CONFIG_BLK_DEV_ATARAID_HPT) += hptraid.o
ide-obj-$(CONFIG_PROC_FS) += ide-proc.o
ide-mod-objs := ide-taskfile.o ide.o ide-probe.o ide-geometry.o ide-features.o ata-timing.o $(ide-obj-y)
include $(TOPDIR)/Rules.make
......@@ -26,7 +26,7 @@
#include "ata-timing.h"
#define DISPLAY_AEC62XX_TIMINGS
#undef DISPLAY_AEC62XX_TIMINGS
#ifndef HIGH_4
#define HIGH_4(H) ((H)=(H>>4))
......@@ -503,7 +503,7 @@ unsigned int __init pci_init_aec62xx (struct pci_dev *dev)
bmide_dev = dev;
aec62xx_display_info = &aec62xx_get_info;
}
#endif /* DISPLAY_AEC62XX_TIMINGS && CONFIG_PROC_FS */
#endif
return dev->irq;
}
......
......@@ -28,7 +28,7 @@
#include "ata-timing.h"
#define DISPLAY_ALI_TIMINGS
#undef DISPLAY_ALI_TIMINGS
#if defined(DISPLAY_ALI_TIMINGS) && defined(CONFIG_PROC_FS)
#include <linux/stat.h>
......
......@@ -94,7 +94,7 @@ static char *amd_dma[] = { "MWDMA16", "UDMA33", "UDMA66", "UDMA100" };
* AMD /proc entry.
*/
#ifdef CONFIG_PROC_FS
#if 0 && defined(CONFIG_PROC_FS)
#include <linux/stat.h>
#include <linux/proc_fs.h>
......@@ -384,7 +384,7 @@ unsigned int __init pci_init_amd74xx(struct pci_dev *dev, const char *name)
* Register /proc/ide/amd74xx entry
*/
#ifdef CONFIG_PROC_FS
#if 0 && defined(CONFIG_PROC_FS)
if (!amd74xx_proc) {
amd_base = pci_resource_start(dev, 4);
bmide_dev = dev;
......
......@@ -79,7 +79,7 @@
#define UDIDETCR1 0x7B
#define DTPR1 0x7C
#define DISPLAY_CMD64X_TIMINGS
#undef DISPLAY_CMD64X_TIMINGS
#if defined(DISPLAY_CMD64X_TIMINGS) && defined(CONFIG_PROC_FS)
#include <linux/stat.h>
......
......@@ -29,7 +29,7 @@
#include "ata-timing.h"
#define DISPLAY_CS5530_TIMINGS
#undef DISPLAY_CS5530_TIMINGS
#if defined(DISPLAY_CS5530_TIMINGS) && defined(CONFIG_PROC_FS)
#include <linux/stat.h>
......
......@@ -65,7 +65,7 @@
#include "ata-timing.h"
#define DISPLAY_HPT366_TIMINGS
#undef DISPLAY_HPT366_TIMINGS
/* various tuning parameters */
#define HPT_RESET_STATE_ENGINE
......
......@@ -2906,7 +2906,6 @@ static struct ata_operations ide_cdrom_driver = {
check_media_change: ide_cdrom_check_media_change,
revalidate: ide_cdrom_revalidate,
capacity: ide_cdrom_capacity,
proc: NULL
};
/* options */
......
......@@ -419,68 +419,6 @@ static sector_t idedisk_capacity(struct ata_device *drive)
return drive->capacity - drive->sect0;
}
#ifdef CONFIG_PROC_FS
#ifdef CONFIG_BLK_DEV_IDE_TCQ
static int proc_idedisk_read_tcq
(char *page, char **start, off_t off, int count, int *eof, void *data)
{
struct ata_device *drive = (struct ata_device *) data;
char *out = page;
int len, cmds, i;
unsigned long flags;
if (!blk_queue_tagged(&drive->queue)) {
len = sprintf(out, "not configured\n");
PROC_IDE_READ_RETURN(page, start, off, count, eof, len);
}
spin_lock_irqsave(&ide_lock, flags);
len = sprintf(out, "TCQ currently on:\t%s\n", drive->using_tcq ? "yes" : "no");
len += sprintf(out+len, "Max queue depth:\t%d\n",drive->queue_depth);
len += sprintf(out+len, "Max achieved depth:\t%d\n",drive->max_depth);
len += sprintf(out+len, "Max depth since last:\t%d\n",drive->max_last_depth);
len += sprintf(out+len, "Current depth:\t\t%d\n", ata_pending_commands(drive));
len += sprintf(out+len, "Active tags:\t\t[ ");
for (i = 0, cmds = 0; i < drive->queue_depth; i++) {
struct request *rq = blk_queue_tag_request(&drive->queue, i);
if (!rq)
continue;
len += sprintf(out+len, "%d, ", i);
cmds++;
}
len += sprintf(out+len, "]\n");
len += sprintf(out+len, "Queue:\t\t\treleased [ %lu ] - started [ %lu ]\n", drive->immed_rel, drive->immed_comp);
if (ata_pending_commands(drive) != cmds)
len += sprintf(out+len, "pending request and queue count mismatch (counted: %d)\n", cmds);
len += sprintf(out+len, "DMA status:\t\t%srunning\n", test_bit(IDE_DMA, &HWGROUP(drive)->flags) ? "" : "not ");
drive->max_last_depth = 0;
spin_unlock_irqrestore(&ide_lock, flags);
PROC_IDE_READ_RETURN(page, start, off, count, eof, len);
}
#endif
static ide_proc_entry_t idedisk_proc[] = {
#ifdef CONFIG_BLK_DEV_IDE_TCQ
{ "tcq", S_IFREG|S_IRUSR, proc_idedisk_read_tcq, NULL },
#endif
{ NULL, 0, NULL, NULL }
};
#else
# define idedisk_proc NULL
#endif
/*
* This is tightly woven into the driver->special can not touch.
* DON'T do it again until a total personality rewrite is committed.
......@@ -1099,7 +1037,6 @@ static struct ata_operations idedisk_driver = {
check_media_change: idedisk_check_media_change,
revalidate: NULL, /* use default method */
capacity: idedisk_capacity,
proc: idedisk_proc
};
MODULE_DESCRIPTION("ATA DISK Driver");
......@@ -1116,10 +1053,6 @@ static void __exit idedisk_exit (void)
}
/* We must remove proc entries defined in this module.
Otherwise we oops while accessing these entries */
#ifdef CONFIG_PROC_FS
if (drive->proc)
ide_remove_proc_entries(drive->proc, idedisk_proc);
#endif
}
}
......
This diff is collapsed.
......@@ -6108,31 +6108,6 @@ static int idetape_cleanup (ide_drive_t *drive)
return 0;
}
#ifdef CONFIG_PROC_FS
static int proc_idetape_read_name
(char *page, char **start, off_t off, int count, int *eof, void *data)
{
ide_drive_t *drive = (ide_drive_t *) data;
idetape_tape_t *tape = drive->driver_data;
char *out = page;
int len;
len = sprintf(out, "%s\n", tape->name);
PROC_IDE_READ_RETURN(page, start, off, count, eof, len);
}
static ide_proc_entry_t idetape_proc[] = {
{ "name", S_IFREG|S_IRUGO, proc_idetape_read_name, NULL },
{ NULL, 0, NULL, NULL }
};
#else
#define idetape_proc NULL
#endif
static void idetape_revalidate(ide_drive_t *_dummy)
{
/* We don't have to handle any partition information here, which is the
......@@ -6154,7 +6129,6 @@ static struct ata_operations idetape_driver = {
release: idetape_blkdev_release,
check_media_change: NULL,
revalidate: idetape_revalidate,
proc: idetape_proc
};
/*
......
......@@ -1921,12 +1921,6 @@ static int ide_release(struct inode * inode, struct file * file)
return 0;
}
#ifdef CONFIG_PROC_FS
ide_proc_entry_t generic_subdriver_entries[] = {
{ NULL, 0, NULL, NULL }
};
#endif
void ide_unregister(struct ata_channel *ch)
{
struct gendisk *gd;
......@@ -1983,9 +1977,6 @@ void ide_unregister(struct ata_channel *ch)
}
}
}
#ifdef CONFIG_PROC_FS
destroy_proc_ide_drives(ch);
#endif
spin_lock_irqsave(&ide_lock, flags);
/*
......@@ -2208,9 +2199,6 @@ int ide_register_hw(hw_regs_t *hw, struct ata_channel **hwifp)
if (!initializing) {
ideprobe_init();
revalidate_drives();
#ifdef CONFIG_PROC_FS
create_proc_ide_interfaces();
#endif
/* FIXME: Do we really have to call it second time here?! */
ide_driver_module();
}
......@@ -3198,11 +3186,7 @@ int ide_register_subdriver(struct ata_device *drive, struct ata_operations *driv
}
drive->revalidate = 1;
drive->suspend_reset = 0;
#ifdef CONFIG_PROC_FS
ide_add_proc_entries(drive->proc, generic_subdriver_entries, drive);
if (ata_ops(drive))
ide_add_proc_entries(drive->proc, ata_ops(drive)->proc, drive);
#endif
return 0;
}
......@@ -3232,11 +3216,6 @@ int ide_unregister_subdriver(struct ata_device *drive)
#if defined(CONFIG_BLK_DEV_ISAPNP) && defined(CONFIG_ISAPNP) && defined(MODULE)
pnpide_init(0);
#endif
#ifdef CONFIG_PROC_FS
if (ata_ops(drive))
ide_remove_proc_entries(drive->proc, ata_ops(drive)->proc);
ide_remove_proc_entries(drive->proc, generic_subdriver_entries);
#endif
auto_remove_settings(drive);
drive->driver = NULL;
......@@ -3315,10 +3294,6 @@ EXPORT_SYMBOL(ide_revalidate_disk);
EXPORT_SYMBOL(ide_cmd);
EXPORT_SYMBOL(ide_delay_50ms);
EXPORT_SYMBOL(ide_stall_queue);
#ifdef CONFIG_PROC_FS
EXPORT_SYMBOL(ide_add_proc_entries);
EXPORT_SYMBOL(ide_remove_proc_entries);
#endif
EXPORT_SYMBOL(ide_add_setting);
EXPORT_SYMBOL(ide_remove_setting);
......@@ -3484,10 +3459,6 @@ static int __init ata_module_init(void)
# endif
#endif
#ifdef CONFIG_PROC_FS
proc_ide_create();
#endif
/*
* Initialize all device type driver modules.
*/
......@@ -3553,9 +3524,6 @@ static void __exit cleanup_ata(void)
ide_unregister(&ide_hwifs[h]);
}
# ifdef CONFIG_PROC_FS
proc_ide_destroy();
# endif
devfs_unregister(ide_devfs_handle);
}
......
......@@ -51,7 +51,7 @@
#define PDC202XX_DEBUG_DRIVE_INFO 0
#define PDC202XX_DECODE_REGISTER_INFO 0
#define DISPLAY_PDC202XX_TIMINGS
#undef DISPLAY_PDC202XX_TIMINGS
#ifndef SPLIT_BYTE
#define SPLIT_BYTE(B,H,L) ((H)=(B>>4), (L)=(B-((B>>4)<<4)))
......
......@@ -110,7 +110,7 @@ static char *piix_dma[] = { "MWDMA16", "UDMA33", "UDMA66", "UDMA100", "UDMA133"
* PIIX/ICH /proc entry.
*/
#ifdef CONFIG_PROC_FS
#if 0 && defined(CONFIG_PROC_FS)
#include <linux/stat.h>
#include <linux/proc_fs.h>
......@@ -520,7 +520,7 @@ unsigned int __init pci_init_piix(struct pci_dev *dev, const char *name)
* Register /proc/ide/piix entry
*/
#ifdef CONFIG_PROC_FS
#if 0 && defined(CONFIG_PROC_FS)
if (!piix_proc) {
piix_base = pci_resource_start(dev, 4);
bmide_dev = dev;
......
......@@ -93,15 +93,16 @@
#include "ata-timing.h"
#define DISPLAY_SVWKS_TIMINGS 1
#undef DISPLAY_SVWKS_TIMINGS
#undef SVWKS_DEBUG_DRIVE_INFO
static u8 svwks_revision = 0;
#if defined(DISPLAY_SVWKS_TIMINGS) && defined(CONFIG_PROC_FS)
#include <linux/stat.h>
#include <linux/proc_fs.h>
static struct pci_dev *bmide_dev;
static byte svwks_revision = 0;
static int svwks_get_info(char *, char **, off_t, int);
extern int (*svwks_display_info)(char *, char **, off_t, int); /* ide-proc.c */
......
......@@ -58,7 +58,7 @@
/* When BROKEN_LEVEL is defined it limits the DMA mode
at boot time to its value */
// #define BROKEN_LEVEL XFER_SW_DMA_0
#define DISPLAY_SIS_TIMINGS
#undef DISPLAY_SIS_TIMINGS
/* Miscellaneaous flags */
#define SIS5513_LATENCY 0x01
......
......@@ -136,7 +136,7 @@ static char *via_dma[] = { "MWDMA16", "UDMA33", "UDMA66", "UDMA100", "UDMA133" }
* VIA /proc entry.
*/
#ifdef CONFIG_PROC_FS
#if 0 && defined(CONFIG_PROC_FS)
#include <linux/stat.h>
#include <linux/proc_fs.h>
......@@ -497,7 +497,7 @@ unsigned int __init pci_init_via82cxxx(struct pci_dev *dev)
* Setup /proc/ide/via entry.
*/
#ifdef CONFIG_PROC_FS
#if 0 && defined(CONFIG_PROC_FS)
if (!via_proc) {
via_base = pci_resource_start(dev, 4);
bmide_dev = dev;
......
......@@ -557,7 +557,6 @@ static struct ata_operations idescsi_driver = {
check_media_change: NULL,
revalidate: idescsi_revalidate,
capacity: NULL,
proc: NULL
};
/*
......
......@@ -379,8 +379,7 @@ struct ata_device {
void *driver_data; /* extra driver data */
devfs_handle_t de; /* directory for device */
struct proc_dir_entry *proc; /* /proc/ide/ directory entry */
struct ide_settings_s *settings; /* /proc/ide/ drive settings */
struct ide_settings_s *settings; /* ioctl entires */
char driver_req[10]; /* requests specific driver */
int last_lun; /* last logical unit */
......@@ -612,43 +611,7 @@ extern int ide_read_setting(struct ata_device *, ide_settings_t *);
extern int ide_write_setting(struct ata_device *, ide_settings_t *, int);
extern void ide_add_generic_settings(struct ata_device *);
/*
* /proc/ide interface
*/
typedef struct {
const char *name;
mode_t mode;
read_proc_t *read_proc;
write_proc_t *write_proc;
} ide_proc_entry_t;
#ifdef CONFIG_PROC_FS
void proc_ide_create(void);
void proc_ide_destroy(void);
void destroy_proc_ide_drives(struct ata_channel *);
void create_proc_ide_interfaces(void);
void ide_add_proc_entries(struct proc_dir_entry *dir, ide_proc_entry_t *p, void *data);
void ide_remove_proc_entries(struct proc_dir_entry *dir, ide_proc_entry_t *p);
read_proc_t proc_ide_read_geometry;
/*
* Standard exit stuff:
*/
#define PROC_IDE_READ_RETURN(page,start,off,count,eof,len) \
{ \
len -= off; \
if (len < count) { \
*eof = 1; \
if (len <= 0) \
return 0; \
} else \
len = count; \
*start = page + off; \
return len; \
}
#else
# define PROC_IDE_READ_RETURN(page,start,off,count,eof,len) return 0;
#endif
#define PROC_IDE_READ_RETURN(page,start,off,count,eof,len) return 0;
/*
* This structure describes the operations possible on a particular device type
......@@ -671,8 +634,6 @@ struct ata_operations {
void (*revalidate)(struct ata_device *);
sector_t (*capacity)(struct ata_device *);
ide_proc_entry_t *proc;
};
/* Alas, no aliases. Too much hassle with bringing module.h everywhere */
......@@ -863,7 +824,6 @@ void do_ide_request (request_queue_t * q);
void ide_init_subdrivers (void);
extern struct block_device_operations ide_fops[];
extern ide_proc_entry_t generic_subdriver_entries[];
#ifdef CONFIG_BLK_DEV_IDE
/* Probe for devices attached to the systems host controllers.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment