[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4C85A9E8.8060708@interlog.com>
Date: Mon, 06 Sep 2010 22:56:40 -0400
From: Douglas Gilbert <dgilbert@...erlog.com>
To: Dmitry Torokhov <dmitry.torokhov@...il.com>
CC: "Nicholas A. Bellinger" <nab@...ux-iscsi.org>,
linux-scsi <linux-scsi@...r.kernel.org>,
linux-kernel <linux-kernel@...r.kernel.org>,
Richard Sharpe <realrichardsharpe@...il.com>,
Christoph Hellwig <hch@....de>,
FUJITA Tomonori <fujita.tomonori@....ntt.co.jp>,
Mike Christie <michaelc@...wisc.edu>,
Hannes Reinecke <hare@...e.de>,
James Bottomley <James.Bottomley@...e.de>,
Greg KH <greg@...ah.com>
Subject: Re: [PATCH v3] scsi_debug: Convert to use root_device_register()
and root_device_unregister()
On 10-09-06 08:32 PM, Dmitry Torokhov wrote:
> On Mon, Sep 06, 2010 at 05:24:28PM -0700, Nicholas A. Bellinger wrote:
>> From: Nicholas Bellinger<nab@...ux-iscsi.org>
>>
>> Hi Doug and Co,
>>
>> This patch updates the scsi_debug virtual LLD to use root_device_register()
>> and root_device_unregister() from include/linux/device.h instead of device_register()
>> and device_unregister() respectively within scsi_debug_init() and scsi_debug_exit()
>> This simply involved converting the static struct device pseudo_primary into a
>> pointer that is setup by the call to root_device_register().
>>
>> This patch also contains the correct IS_ERR() conditional check of
>> root_device_register() from within scsi_debug_init().
>>
>> Thanks to Richard Sharpe and Dmitry Torokhov for their help with this item.
>>
>> Signed-off-by: Nicholas A. Bellinger<nab@...ux-iscsi.org>
>
> Thanks for making the changes.
>
> Acked-by: Dmitry Torokhov<dtor@...l.ru>
Acked-by: Douglas Gilbert <dgilbert@...erlog.com>
>> ---
>> drivers/scsi/scsi_debug.c | 25 ++++++++-----------------
>> 1 files changed, 8 insertions(+), 17 deletions(-)
>>
>> diff --git a/drivers/scsi/scsi_debug.c b/drivers/scsi/scsi_debug.c
>> index b02bdc6..6047c10 100644
>> --- a/drivers/scsi/scsi_debug.c
>> +++ b/drivers/scsi/scsi_debug.c
>> @@ -3207,16 +3207,7 @@ static void do_remove_driverfs_files(void)
>> driver_remove_file(&sdebug_driverfs_driver,&driver_attr_add_host);
>> }
>>
>> -static void pseudo_0_release(struct device *dev)
>> -{
>> - if (SCSI_DEBUG_OPT_NOISE& scsi_debug_opts)
>> - printk(KERN_INFO "scsi_debug: pseudo_0_release() called\n");
>> -}
>> -
>> -static struct device pseudo_primary = {
>> - .init_name = "pseudo_0",
>> - .release = pseudo_0_release,
>> -};
>> +struct device *pseudo_primary;
>>
>> static int __init scsi_debug_init(void)
>> {
>> @@ -3352,10 +3343,10 @@ static int __init scsi_debug_init(void)
>> map_region(0, 2);
>> }
>>
>> - ret = device_register(&pseudo_primary);
>> - if (ret< 0) {
>> - printk(KERN_WARNING "scsi_debug: device_register error: %d\n",
>> - ret);
>> + pseudo_primary = root_device_register("pseudo_0");
>> + if (IS_ERR(pseudo_primary)) {
>> + printk(KERN_WARNING "scsi_debug: root_device_register() error\n");
>> + ret = PTR_ERR(pseudo_primary);
>> goto free_vm;
>> }
>> ret = bus_register(&pseudo_lld_bus);
>> @@ -3402,7 +3393,7 @@ del_files:
>> bus_unreg:
>> bus_unregister(&pseudo_lld_bus);
>> dev_unreg:
>> - device_unregister(&pseudo_primary);
>> + root_device_unregister(pseudo_primary);
>> free_vm:
>> if (map_storep)
>> vfree(map_storep);
>> @@ -3423,7 +3414,7 @@ static void __exit scsi_debug_exit(void)
>> do_remove_driverfs_files();
>> driver_unregister(&sdebug_driverfs_driver);
>> bus_unregister(&pseudo_lld_bus);
>> - device_unregister(&pseudo_primary);
>> + root_device_unregister(pseudo_primary);
>>
>> if (dif_storep)
>> vfree(dif_storep);
>> @@ -3474,7 +3465,7 @@ static int sdebug_add_adapter(void)
>> spin_unlock(&sdebug_host_list_lock);
>>
>> sdbg_host->dev.bus =&pseudo_lld_bus;
>> - sdbg_host->dev.parent =&pseudo_primary;
>> + sdbg_host->dev.parent = pseudo_primary;
>> sdbg_host->dev.release =&sdebug_release_adapter;
>> dev_set_name(&sdbg_host->dev, "adapter%d", scsi_debug_add_host);
>>
>> --
>> 1.5.6.5
>>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists