From: Mugunthan V N <mugunthanvnm@ti.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [U-Boot, v2, 3/7] drivers: block: disk-uclass: implement scsi_init()
Date: Thu, 25 Feb 2016 23:05:21 +0530 [thread overview]
Message-ID: <56CF3B59.3030303@ti.com> (raw)
In-Reply-To: <CAPnjgZ2Mr_zyko=2k3-ZbgCdy0wecY1-jDxbrQkknjKbUBDDqg@mail.gmail.com>
Hi Tom
On Thursday 25 February 2016 09:00 PM, Simon Glass wrote:
> Hi Mugunthan,
>
> On 25 February 2016 at 02:34, Mugunthan V N <mugunthanvnm@ti.com> wrote:
>> On Wednesday 24 February 2016 09:50 PM, Tom Rini wrote:
>>> On Wed, Feb 03, 2016 at 05:29:36PM +0530, Mugunthan V N wrote:
>>>
>>>> Implement scsi_init() api to probe driver model based sata
>>>> devices.
>>>>
>>>> Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
>>>> Reviewed-by: Simon Glass <sjg@chromium.org>
>>>> ---
>>>> drivers/block/disk-uclass.c | 39 +++++++++++++++++++++++++++++++++++++++
>>>> 1 file changed, 39 insertions(+)
>>>>
>>>> diff --git a/drivers/block/disk-uclass.c b/drivers/block/disk-uclass.c
>>>> index d665b35..4bd7b56 100644
>>>> --- a/drivers/block/disk-uclass.c
>>>> +++ b/drivers/block/disk-uclass.c
>>>> @@ -7,6 +7,45 @@
>>>>
>>>> #include <common.h>
>>>> #include <dm.h>
>>>> +#include <dm/uclass-internal.h>
>>>> +#include <dm/device-internal.h>
>>>> +#include <scsi.h>
>>>> +
>>>> +int scsi_get_device(int index, struct udevice **devp)
>>>> +{
>>>> + struct udevice *dev;
>>>> + int ret;
>>>> +
>>>> + ret = uclass_find_device(UCLASS_DISK, index, &dev);
>>>> + if (ret || !dev) {
>>>> + printf("%d device not found\n", index);
>>>> + return ret;
>>>> + }
>>>> +
>>>> + ret = device_probe(dev);
>>>> + if (ret) {
>>>> + error("device probe error\n");
>>>> + return ret;
>>>> + }
>>>> +
>>>> + *devp = dev;
>>>> +
>>>> + return ret;
>>>> +}
>>>> +
>>>> +void scsi_init(void)
>>>> +{
>>>> + struct udevice *dev;
>>>> + int ret;
>>>> +
>>>> + ret = scsi_get_device(0, &dev);
>>>> + if (ret || !dev) {
>>>> + error("scsi device not found\n");
>>>> + return;
>>>> + }
>>>> +
>>>> + scsi_scan(1);
>>>> +}
>>>>
>>>> UCLASS_DRIVER(disk) = {
>>>> .id = UCLASS_DISK,
>>>
>>> OK, this patch is a problem. Many platforms already define scsi_init()
>>> and aren't moved over so now fail to build. Mele_M5 is one of many
>>> examples here, thanks!
>>>
>>
>> Oops, sorry I didn't run buildman before submitting the patches, will
>> make sure running buildman before submitting patches in future.
>>
>> Issue is when a platform is converted to DM, by default CONFIG_DISK is
>> selected through Kconfig whether the platform has block device or not,
>> disk_uclass driver is compile which results in build break when the
>> platform has scsi_init already defined and not not converted to DM.
>>
>> The following diff solves the issue, and CONFIG_DISK has to be selected
>> for platforms which supports disk (sata, ide etc)
>>
>> Simon, Are you Okay with the patch, so that I can send it as a separate
>> fixup patch.
>
> It is OK, but please enable CONFIG_DISK in chromebook_link_defconfig.
> It is the only user at present.
>
> With driver model we actually don't want scsi_init() to be implemented
> in the end. It's fine for now. The driver-model block-device series
> will make some changes here down the track. We'll have UCLASS_SATA (or
> similar) rather than something as generic as UCLASS_DISK.
>
Will send a fixup patch by tomorrow.
Regards
Mugunthan V N
next prev parent reply other threads:[~2016-02-25 17:35 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-02-03 11:59 [U-Boot] [PATCH v2 0/7] driver model bring-up of sata device on dra72 and dra74 evm Mugunthan V N
2016-02-03 11:59 ` [U-Boot] [PATCH v2 1/7] arm: omap: sata: move enable sata clocks to enable_basic_clocks() Mugunthan V N
2016-02-16 16:01 ` Simon Glass
2016-02-03 11:59 ` [U-Boot] [PATCH v2 2/7] arm: omap: sata: compile out sata init apis when CONFIG_DISK is defined Mugunthan V N
2016-02-16 16:01 ` Simon Glass
2016-02-03 11:59 ` [U-Boot] [PATCH v2 3/7] drivers: block: disk-uclass: implement scsi_init() Mugunthan V N
2016-02-06 20:29 ` Simon Glass
2016-02-08 11:23 ` Mugunthan V N
2016-02-08 17:45 ` Simon Glass
2016-02-08 18:28 ` Tom Rini
2016-02-15 3:03 ` Bin Meng
2016-02-16 16:01 ` Simon Glass
2016-02-24 16:20 ` [U-Boot] [U-Boot, v2, " Tom Rini
2016-02-25 9:34 ` Mugunthan V N
2016-02-25 15:30 ` Simon Glass
2016-02-25 17:35 ` Mugunthan V N [this message]
2016-02-03 11:59 ` [U-Boot] [PATCH v2 4/7] arm: omap-common: sata: prepare driver for DM conversion Mugunthan V N
2016-02-16 16:01 ` Simon Glass
2016-02-03 11:59 ` [U-Boot] [PATCH v2 5/7] drivers: block: dwc_ahci: Implement a driver for Synopsys DWC sata device Mugunthan V N
2016-02-03 11:59 ` [U-Boot] [PATCH v2 6/7] defconfig: dra74_evm: enable disk driver model Mugunthan V N
2016-02-16 16:01 ` Simon Glass
2016-02-03 11:59 ` [U-Boot] [PATCH v2 7/7] defconfig: dra72_evm: " Mugunthan V N
2016-02-16 16:01 ` Simon Glass
2016-02-03 14:40 ` [U-Boot] [PATCH v2 0/7] driver model bring-up of sata device on dra72 and dra74 evm Mugunthan V N
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=56CF3B59.3030303@ti.com \
--to=mugunthanvnm@ti.com \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.