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;
|
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
|
* standard prep_rq_fn that builds 10 byte cmds
|
||||||
*/
|
*/
|
||||||
@ -1789,6 +1780,41 @@ struct cd_list_entry {
|
|||||||
unsigned int cd_flags;
|
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[] = {
|
static const struct cd_list_entry ide_cd_quirks_list[] = {
|
||||||
/* Limit transfer size per interrupt. */
|
/* Limit transfer size per interrupt. */
|
||||||
{ "SAMSUNG CD-ROM SCR-2430", NULL, IDE_CD_FLAG_LIMIT_NFRAMES },
|
{ "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 *);
|
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 = {
|
static ide_driver_t ide_cdrom_driver = {
|
||||||
.gen_driver = {
|
.gen_driver = {
|
||||||
.owner = THIS_MODULE,
|
.owner = THIS_MODULE,
|
||||||
|
Loading…
Reference in New Issue
Block a user