mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-03-16 04:04:06 +00:00
scsi: esas2r: Introduce scsi_template_proc_dir()
Prepare for removing the 'proc_dir' and 'present' members from the SCSI host template. This commit does not change any functionality. Reviewed-by: John Garry <john.garry@huawei.com> Cc: Bradley Grove <linuxdrivers@attotech.com> Cc: Christoph Hellwig <hch@lst.de> Cc: Ming Lei <ming.lei@redhat.com> Cc: Hannes Reinecke <hare@suse.de> Cc: Mike Christie <michael.christie@oracle.com> Cc: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Signed-off-by: Bart Van Assche <bvanassche@acm.org> Link: https://lore.kernel.org/r/20221015002418.30955-3-bvanassche@acm.org Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
parent
b6da92356c
commit
77916da7e4
3 changed files with 28 additions and 6 deletions
|
@ -635,10 +635,13 @@ static void __exit esas2r_exit(void)
|
|||
esas2r_log(ESAS2R_LOG_INFO, "%s called", __func__);
|
||||
|
||||
if (esas2r_proc_major > 0) {
|
||||
struct proc_dir_entry *proc_dir;
|
||||
|
||||
esas2r_log(ESAS2R_LOG_INFO, "unregister proc");
|
||||
|
||||
remove_proc_entry(ATTONODE_NAME,
|
||||
esas2r_proc_host->hostt->proc_dir);
|
||||
proc_dir = scsi_template_proc_dir(esas2r_proc_host->hostt);
|
||||
if (proc_dir)
|
||||
remove_proc_entry(ATTONODE_NAME, proc_dir);
|
||||
unregister_chrdev(esas2r_proc_major, ESAS2R_DRVR_NAME);
|
||||
|
||||
esas2r_proc_major = 0;
|
||||
|
@ -728,11 +731,13 @@ const char *esas2r_info(struct Scsi_Host *sh)
|
|||
esas2r_proc_major);
|
||||
|
||||
if (esas2r_proc_major > 0) {
|
||||
struct proc_dir_entry *pde;
|
||||
struct proc_dir_entry *proc_dir;
|
||||
struct proc_dir_entry *pde = NULL;
|
||||
|
||||
pde = proc_create(ATTONODE_NAME, 0,
|
||||
sh->hostt->proc_dir,
|
||||
&esas2r_proc_ops);
|
||||
proc_dir = scsi_template_proc_dir(sh->hostt);
|
||||
if (proc_dir)
|
||||
pde = proc_create(ATTONODE_NAME, 0, proc_dir,
|
||||
&esas2r_proc_ops);
|
||||
|
||||
if (!pde) {
|
||||
esas2r_log_dev(ESAS2R_LOG_WARN,
|
||||
|
|
|
@ -83,6 +83,17 @@ static int proc_scsi_host_open(struct inode *inode, struct file *file)
|
|||
4 * PAGE_SIZE);
|
||||
}
|
||||
|
||||
/**
|
||||
* scsi_template_proc_dir() - returns the procfs dir for a SCSI host template
|
||||
* @sht: SCSI host template pointer.
|
||||
*/
|
||||
struct proc_dir_entry *
|
||||
scsi_template_proc_dir(const struct scsi_host_template *sht)
|
||||
{
|
||||
return sht->proc_dir;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(scsi_template_proc_dir);
|
||||
|
||||
static const struct proc_ops proc_scsi_ops = {
|
||||
.proc_open = proc_scsi_host_open,
|
||||
.proc_release = single_release,
|
||||
|
|
|
@ -751,6 +751,12 @@ extern struct Scsi_Host *scsi_host_alloc(struct scsi_host_template *, int);
|
|||
extern int __must_check scsi_add_host_with_dma(struct Scsi_Host *,
|
||||
struct device *,
|
||||
struct device *);
|
||||
#if defined(CONFIG_SCSI_PROC_FS)
|
||||
struct proc_dir_entry *
|
||||
scsi_template_proc_dir(const struct scsi_host_template *sht);
|
||||
#else
|
||||
#define scsi_template_proc_dir(sht) NULL
|
||||
#endif
|
||||
extern void scsi_scan_host(struct Scsi_Host *);
|
||||
extern void scsi_rescan_device(struct device *);
|
||||
extern void scsi_remove_host(struct Scsi_Host *);
|
||||
|
|
Loading…
Add table
Reference in a new issue