<feed xmlns='http://www.w3.org/2005/Atom'>
<title>u-boot.git/drivers/ata, branch v2017.09-rc1</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<id>http://cgit.235523.xyz/u-boot.git/atom/drivers/ata?h=v2017.09-rc1</id>
<link rel='self' href='http://cgit.235523.xyz/u-boot.git/atom/drivers/ata?h=v2017.09-rc1'/>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/'/>
<updated>2017-07-28T18:02:47Z</updated>
<entry>
<title>dm: ahci: Avoid scsi_scan_dev() in ahci_probe_scsi()</title>
<updated>2017-07-28T18:02:47Z</updated>
<author>
<name>Bin Meng</name>
<email>bmeng.cn@gmail.com</email>
</author>
<published>2017-06-17T13:35:59Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=9c1390d4b988b1c7170dca9d06539ea1a363dfe7'/>
<id>urn:sha1:9c1390d4b988b1c7170dca9d06539ea1a363dfe7</id>
<content type='text'>
Running 'scsi scan' command causes scsi_scan_dev() to be called,
from which device_probe() is called and consequently AHCI driver
probe routine will be called as SCSI driver's parent, and finally
ahci_probe_scsi() calls scsi_scan_dev() again.

Remove the call to scsi_scan_dev() in ahci_probe_scsi().

Signed-off-by: Bin Meng &lt;bmeng.cn@gmail.com&gt;
Reviewed-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>dm: ahci: Add a driver for SCSI on AHCI</title>
<updated>2017-07-11T16:08:19Z</updated>
<author>
<name>Simon Glass</name>
<email>sjg@chromium.org</email>
</author>
<published>2017-06-15T03:28:46Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=681357ffd9fe4528d020a878ef6ee61f519d8d85'/>
<id>urn:sha1:681357ffd9fe4528d020a878ef6ee61f519d8d85</id>
<content type='text'>
Some AHCI drivers use SCSI under the hood. Rather than making the AHCI
driver be in the SCSI uclass it makes sense to have the AHCI device create
a SCSI device as a child. That way we can handle any AHCI-specific
operations rather than trying to pretend tha the device is just SCSI.

To handle this we need to provide a way for AHCI drivers to bind a SCSI
device as its child, and probe it. Add functions for this.

Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
Reviewed-by: Bin Meng &lt;bmeng.cn@gmail.com&gt;
</content>
</entry>
<entry>
<title>dm: scsi: Adjust return value of scsi_exec()</title>
<updated>2017-07-11T16:08:19Z</updated>
<author>
<name>Simon Glass</name>
<email>sjg@chromium.org</email>
</author>
<published>2017-06-15T03:28:44Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=f6580ef39b332387f84334d238320ce99115af67'/>
<id>urn:sha1:f6580ef39b332387f84334d238320ce99115af67</id>
<content type='text'>
Change this function to return an error number instead of true/false.
This allows us to return a proper error number.

Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
Reviewed-by: Bin Meng &lt;bmeng.cn@gmail.com&gt;
</content>
</entry>
<entry>
<title>dm: scsi: Add operations for SCSI devices</title>
<updated>2017-07-11T16:08:19Z</updated>
<author>
<name>Simon Glass</name>
<email>sjg@chromium.org</email>
</author>
<published>2017-06-15T03:28:43Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=f6ab5a92acc78371fc088075b64bd394d1f0d45f'/>
<id>urn:sha1:f6ab5a92acc78371fc088075b64bd394d1f0d45f</id>
<content type='text'>
The SCSI uclass currently has no operations. It just uses the global SCSI
functions. Fix this by adding operations to the only two drivers that use
the uclass, and replacing the global functions with those defined locally
in the SCSI code.

Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
Reviewed-by: Bin Meng &lt;bmeng.cn@gmail.com&gt;
</content>
</entry>
<entry>
<title>dm: ahci: Create a local version of two SCSI functions</title>
<updated>2017-07-11T16:08:19Z</updated>
<author>
<name>Simon Glass</name>
<email>sjg@chromium.org</email>
</author>
<published>2017-06-15T03:28:42Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=4e7490145800ea8da5f67a4fbaa66caab7689ce3'/>
<id>urn:sha1:4e7490145800ea8da5f67a4fbaa66caab7689ce3</id>
<content type='text'>
With driver model we need to define implementations of exec() and
bus_reset() separately for each SCSI driver. As a first step, create a
local version of each function in the AHCI driver and call each from its
global version.

Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
Reviewed-by: Bin Meng &lt;bmeng.cn@gmail.com&gt;
</content>
</entry>
<entry>
<title>dm: scsi: Add a device pointer to scan_exec(), scsi_bus_reset()</title>
<updated>2017-07-11T16:08:19Z</updated>
<author>
<name>Simon Glass</name>
<email>sjg@chromium.org</email>
</author>
<published>2017-06-15T03:28:40Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=4682c8a19b4eb69f7ad51df3f543375583ce878a'/>
<id>urn:sha1:4682c8a19b4eb69f7ad51df3f543375583ce878a</id>
<content type='text'>
With driver model these functions need a device pointer. Add one even
when CONFIG_DM_SCSI is not defined. This avoids having ugly conditional
function prototypes, When CONFIG_DM_SCSI is not defined we can just ignore
the pointer.

Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
Reviewed-by: Bin Meng &lt;bmeng.cn@gmail.com&gt;
</content>
</entry>
<entry>
<title>dm: ahci: Drop use of probe_ent</title>
<updated>2017-07-11T16:08:19Z</updated>
<author>
<name>Simon Glass</name>
<email>sjg@chromium.org</email>
</author>
<published>2017-06-15T03:28:38Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=4279efc4c949116535bb99f4aa74260d93f82b92'/>
<id>urn:sha1:4279efc4c949116535bb99f4aa74260d93f82b92</id>
<content type='text'>
With driver model we cannot have static data or assume that there is only
one device of each time. Adjust the code so that 'probe_ent' is not needed
with driver model. Add a new ahci_init_dm() function which can init AHCI
for driver model without re-allocating the uclass data. Move over the only
existing driver to use this new function.

Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
Reviewed-by: Bin Meng &lt;bmeng.cn@gmail.com&gt;
</content>
</entry>
<entry>
<title>dm: ahci: Unwind the confusing init code</title>
<updated>2017-07-11T16:08:19Z</updated>
<author>
<name>Simon Glass</name>
<email>sjg@chromium.org</email>
</author>
<published>2017-06-15T03:28:37Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=7cf1afce7fa3fe64189020fe14b93f7326dd0758'/>
<id>urn:sha1:7cf1afce7fa3fe64189020fe14b93f7326dd0758</id>
<content type='text'>
Two AHCI drivers use SCSI with CONFIG_DM_SCSI. The SCSI uclass calls
scsi_low_level_init() which is implemented by ahci.c. If
CONFIG_SCSI_AHCI_PLAT is defined it does one thing and if it is not
it does something else.

We don't need to call through scsi_low_level_init() to get the init
completed. Instead, adjust the two drivers to call into AHCI directly.
Drop the post-probe init in the SCSI uclass. This means that driver model
doesn't need to use scsi_low_level_init(). It is a legacy function and
driver model should use a driver's probe() method instead.

While we are here, add a comment to the top of the file explaining what
ahci.c does.

Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
Reviewed-by: Bin Meng &lt;bmeng.cn@gmail.com&gt;
</content>
</entry>
<entry>
<title>dm: ahci: Move common code for starting ports into a function</title>
<updated>2017-07-11T16:08:19Z</updated>
<author>
<name>Simon Glass</name>
<email>sjg@chromium.org</email>
</author>
<published>2017-06-15T03:28:36Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=62b4ec8e302c7d616e37f2c2c2836edfea712309'/>
<id>urn:sha1:62b4ec8e302c7d616e37f2c2c2836edfea712309</id>
<content type='text'>
This code is duplicated. Create a ahci_start_ports() function to handle
this and call it from both places.

Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
Reviewed-by: Bin Meng &lt;bmeng.cn@gmail.com&gt;
</content>
</entry>
<entry>
<title>dm: ahci: Refactor to avoid static variables</title>
<updated>2017-07-11T16:08:19Z</updated>
<author>
<name>Simon Glass</name>
<email>sjg@chromium.org</email>
</author>
<published>2017-06-15T03:28:34Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=225b1da7bfaf3c6a6812adb3ed1a85ada76c85f4'/>
<id>urn:sha1:225b1da7bfaf3c6a6812adb3ed1a85ada76c85f4</id>
<content type='text'>
With driver model we need each device to have its own state. As a step
towards this, restrict use of the global 'probe_ent' to just a few places
in the file. This will allow us to add driver-model functions which can
pass the correct data around.

Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
Reviewed-by: Bin Meng &lt;bmeng.cn@gmail.com&gt;
</content>
</entry>
</feed>
