forked from Minki/linux
ide-cd: put all proc-related code at one place
Signed-off-by: Borislav Petkov <petkovbb@gmail.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
This commit is contained in:
parent
9aba468e4a
commit
5e657a9e29
@ -1695,15 +1695,6 @@ int ide_cdrom_probe_capabilities(ide_drive_t *drive)
|
||||
return nslots;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_IDE_PROC_FS
|
||||
static void ide_cdrom_add_settings(ide_drive_t *drive)
|
||||
{
|
||||
ide_add_setting(drive, "dsc_overlap", SETTING_RW, TYPE_BYTE, 0, 1, 1, 1, &drive->dsc_overlap, NULL);
|
||||
}
|
||||
#else
|
||||
static inline void ide_cdrom_add_settings(ide_drive_t *drive) { ; }
|
||||
#endif
|
||||
|
||||
/*
|
||||
* standard prep_rq_fn that builds 10 byte cmds
|
||||
*/
|
||||
@ -1789,6 +1780,41 @@ struct cd_list_entry {
|
||||
unsigned int cd_flags;
|
||||
};
|
||||
|
||||
#ifdef CONFIG_IDE_PROC_FS
|
||||
static sector_t ide_cdrom_capacity(ide_drive_t *drive)
|
||||
{
|
||||
unsigned long capacity, sectors_per_frame;
|
||||
|
||||
if (cdrom_read_capacity(drive, &capacity, §ors_per_frame, NULL))
|
||||
return 0;
|
||||
|
||||
return capacity * sectors_per_frame;
|
||||
}
|
||||
|
||||
static int proc_idecd_read_capacity
|
||||
(char *page, char **start, off_t off, int count, int *eof, void *data)
|
||||
{
|
||||
ide_drive_t *drive = data;
|
||||
int len;
|
||||
|
||||
len = sprintf(page, "%llu\n", (long long)ide_cdrom_capacity(drive));
|
||||
PROC_IDE_READ_RETURN(page, start, off, count, eof, len);
|
||||
}
|
||||
|
||||
static ide_proc_entry_t idecd_proc[] = {
|
||||
{ "capacity", S_IFREG|S_IRUGO, proc_idecd_read_capacity, NULL },
|
||||
{ NULL, 0, NULL, NULL }
|
||||
};
|
||||
|
||||
static void ide_cdrom_add_settings(ide_drive_t *drive)
|
||||
{
|
||||
ide_add_setting(drive, "dsc_overlap", SETTING_RW, TYPE_BYTE, 0, 1, 1, 1,
|
||||
&drive->dsc_overlap, NULL);
|
||||
}
|
||||
#else
|
||||
static inline void ide_cdrom_add_settings(ide_drive_t *drive) { ; }
|
||||
#endif
|
||||
|
||||
static const struct cd_list_entry ide_cd_quirks_list[] = {
|
||||
/* Limit transfer size per interrupt. */
|
||||
{ "SAMSUNG CD-ROM SCR-2430", NULL, IDE_CD_FLAG_LIMIT_NFRAMES },
|
||||
@ -1929,33 +1955,6 @@ static void ide_cd_release(struct kref *kref)
|
||||
|
||||
static int ide_cd_probe(ide_drive_t *);
|
||||
|
||||
#ifdef CONFIG_IDE_PROC_FS
|
||||
static sector_t ide_cdrom_capacity(ide_drive_t *drive)
|
||||
{
|
||||
unsigned long capacity, sectors_per_frame;
|
||||
|
||||
if (cdrom_read_capacity(drive, &capacity, §ors_per_frame, NULL))
|
||||
return 0;
|
||||
|
||||
return capacity * sectors_per_frame;
|
||||
}
|
||||
|
||||
static int proc_idecd_read_capacity
|
||||
(char *page, char **start, off_t off, int count, int *eof, void *data)
|
||||
{
|
||||
ide_drive_t *drive = data;
|
||||
int len;
|
||||
|
||||
len = sprintf(page, "%llu\n", (long long)ide_cdrom_capacity(drive));
|
||||
PROC_IDE_READ_RETURN(page, start, off, count, eof, len);
|
||||
}
|
||||
|
||||
static ide_proc_entry_t idecd_proc[] = {
|
||||
{ "capacity", S_IFREG|S_IRUGO, proc_idecd_read_capacity, NULL },
|
||||
{ NULL, 0, NULL, NULL }
|
||||
};
|
||||
#endif
|
||||
|
||||
static ide_driver_t ide_cdrom_driver = {
|
||||
.gen_driver = {
|
||||
.owner = THIS_MODULE,
|
||||
|
Loading…
Reference in New Issue
Block a user