- 24 8月, 2020 1 次提交
-
-
由 Gustavo A. R. Silva 提交于
Replace the existing /* fall through */ comments and its variants with the new pseudo-keyword macro fallthrough[1]. Also, remove unnecessary fall-through markings when it is the case. [1] https://www.kernel.org/doc/html/v5.7/process/deprecated.html?highlight=fallthrough#implicit-switch-case-fall-throughSigned-off-by: NGustavo A. R. Silva <gustavoars@kernel.org>
-
- 26 12月, 2019 1 次提交
-
-
由 Florian Fainelli 提交于
This reverts commit 6bb86fef ("libahci_platform: Staticize ahci_platform_<en/dis>able_phys()") we are going to need ahci_platform_{enable,disable}_phys() in a subsequent commit for ahci_brcm.c in order to properly control the PHY initialization order. Also make sure the function prototypes are declared in include/linux/ahci_platform.h as a result. Cc: stable@vger.kernel.org Reviewed-by: NHans de Goede <hdegoede@redhat.com> Signed-off-by: NFlorian Fainelli <f.fainelli@gmail.com> Signed-off-by: NJens Axboe <axboe@kernel.dk>
-
- 26 10月, 2019 1 次提交
-
-
由 Mark Brown 提交于
This driver is using regulator_get_optional() to handle all the supplies that it handles, and only ever enables and disables all supplies en masse without ever doing any other configuration of the device to handle missing power. These are clear signs that the API is being misused - it should only be used for supplies that may be physically absent from the system and in these cases the hardware usually needs different configuration if the supply is missing. Instead use normal regualtor_get(), if the supply is not described in DT then the framework will substitute a dummy regulator in so no special handling is needed by the consumer driver. In the case of the PHY regulator the handling in the driver is a hack to deal with integrated PHYs; the supplies are only optional in the sense that that there's some confusion in the code about where they're bound to. From a code point of view they function exactly as normal supplies so can be treated as such. It'd probably be better to model this by instantiating a PHY object for integrated PHYs. Reviewed-by: NHans de Goede <hdegoede@redhat.com> Signed-off-by: NMark Brown <broonie@kernel.org> Signed-off-by: NJens Axboe <axboe@kernel.dk>
-
- 20 9月, 2019 1 次提交
-
-
由 Nishka Dasgupta 提交于
Each iteration of for_each_child_of_node puts the previous node, but in the case of a goto from the middle of the loop, there is no put, thus causing a memory leak. Add an of_node_put before three such goto statements. Issue found with Coccinelle. Reviewed-by: NHans de Goede <hdegoede@redhat.com> Signed-off-by: NNishka Dasgupta <nishkadg.linux@gmail.com> Signed-off-by: NJens Axboe <axboe@kernel.dk>
-
- 31 7月, 2019 1 次提交
-
-
由 Miquel Raynal 提交于
Retrieving PHYs can defer the probe, do not spawn an error when -EPROBE_DEFER is returned, it is normal behavior. Fixes: b1a9edbd ("ata: libahci: allow to use multiple PHYs") Reviewed-by: NHans de Goede <hdegoede@redhat.com> Signed-off-by: NMiquel Raynal <miquel.raynal@bootlin.com> Signed-off-by: NJens Axboe <axboe@kernel.dk>
-
- 16 7月, 2019 1 次提交
-
-
由 Ding Xiang 提交于
devm_ioremap_resource already contains error message, so remove the redundant dev_err message Signed-off-by: NDing Xiang <dingxiang@cmss.chinamobile.com> Signed-off-by: NJens Axboe <axboe@kernel.dk>
-
- 24 5月, 2019 1 次提交
-
-
由 Thomas Gleixner 提交于
Based on 1 normalized pattern(s): this program is free software you can redistribute it and or modify it under the terms of the gnu general public license as published by the free software foundation either version 2 or at your option any later version extracted by the scancode license scanner the SPDX license identifier GPL-2.0-or-later has been chosen to replace the boilerplate/reference in 11 file(s). Signed-off-by: NThomas Gleixner <tglx@linutronix.de> Reviewed-by: NKate Stewart <kstewart@linuxfoundation.org> Reviewed-by: NAllison Randal <allison@lohutok.net> Cc: linux-spdx@vger.kernel.org Link: https://lkml.kernel.org/r/20190520170858.370933192@linutronix.deSigned-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 12 1月, 2019 1 次提交
-
-
由 Miquel Raynal 提交于
Current implementation of the libahci does not take into account the new PHY framework. Correct the situation by adding a call to phy_set_mode() before phy_power_on(). PHYs should also be handled at suspend/resume time. For this, call ahci_platform_enable/disable_phys() at suspend/resume_host() time. These calls are guarded by a HFLAG (AHCI_HFLAG_SUSPEND_PHYS) that the user of the libahci driver must set manually in hpriv->flags at probe time. This is to avoid breaking users that have not been tested with this change. Reviewed-by: NHans de Goede <hdegoede@redhat.com> Suggested-by: NGrzegorz Jaszczyk <jaz@semihalf.com> Signed-off-by: NMiquel Raynal <miquel.raynal@bootlin.com> Signed-off-by: NJens Axboe <axboe@kernel.dk>
-
- 03 9月, 2018 2 次提交
-
-
由 Corentin Labbe 提交于
The SoC R40 AHCI controller need a PHY regulator to work. But since the PHY is embedded in the controller, we cannot do a DT node for it, since phy-supply works only in node with a PHY compatible. So this patch adds a way to add an optional phy-supply regulator on AHCI controller node. Acked-by: NMaxime Ripard <maxime.ripard@bootlin.com> Reviewed-by: NHans de Goede <hdegoede@redhat.com> Signed-off-by: NCorentin Labbe <clabbe.montjoie@gmail.com> Signed-off-by: NJens Axboe <axboe@kernel.dk>
-
由 Corentin Labbe 提交于
The SoC R40 AHCI controller need a regulator to work. So this patch add a way to add an optional regulator on AHCI controller. Acked-by: NMaxime Ripard <maxime.ripard@bootlin.com> Reviewed-by: NHans de Goede <hdegoede@redhat.com> Signed-off-by: NCorentin Labbe <clabbe.montjoie@gmail.com> Signed-off-by: NJens Axboe <axboe@kernel.dk>
-
- 28 8月, 2018 1 次提交
-
-
由 Rob Herring 提交于
In preparation to remove the node name pointer from struct device_node, convert printf users to use the %pOFn format specifier. Cc: Hans de Goede <hdegoede@redhat.com> Cc: Jens Axboe <axboe@kernel.dk> Cc: linux-ide@vger.kernel.org Signed-off-by: NRob Herring <robh@kernel.org> Signed-off-by: NJens Axboe <axboe@kernel.dk>
-
- 22 8月, 2018 2 次提交
-
-
由 Kunihiko Hayashi 提交于
Add support to get and control a list of resets for the device as optional and shared. These resets must be kept de-asserted until the device is enabled. This is specified as shared because some SoCs like UniPhier series have common reset controls with all ahci controller instances. However, according to Thierry's view, https://www.spinics.net/lists/linux-ide/msg55357.html some hardware-specific drivers already use their own resets, and the common reset make a path to occur double controls of resets. The ahci_platform_get_resources() can get and control the reset only when the second argument includes AHCI_PLATFORM_GET_RESETS bit. Suggested-by: NHans de Goede <hdegoede@redhat.com> Cc: Thierry Reding <thierry.reding@gmail.com> Signed-off-by: NKunihiko Hayashi <hayashi.kunihiko@socionext.com> Reviewed-by: NHans de Goede <hdegoede@redhat.com> Signed-off-by: NTejun Heo <tj@kernel.org>
-
由 Kunihiko Hayashi 提交于
Add an extra argument to ahci_platform_get_resources(), that is for the bitmap representing the resource to get in this function. Currently there is no resources to be defined, so all the callers set '0' to the argument. Suggested-by: NHans de Goede <hdegoede@redhat.com> Cc: Thierry Reding <thierry.reding@gmail.com> Cc: Matthias Brugger <matthias.bgg@gmail.com> Cc: Patrice Chotard <patrice.chotard@st.com> Cc: Maxime Ripard <maxime.ripard@free-electrons.com> Signed-off-by: NKunihiko Hayashi <hayashi.kunihiko@socionext.com> Reviewed-by: NHans de Goede <hdegoede@redhat.com> Signed-off-by: NTejun Heo <tj@kernel.org>
-
- 07 8月, 2018 1 次提交
-
-
由 Tejun Heo 提交于
This reverts commit aece27a2. Causes boot failure on some devices. http://lore.kernel.org/r/CA+G9fYuKW_jCFZPqG4tz=QY9ROfHO38KiCp9XTA+KaDOFVtcqQ@mail.gmail.comSigned-off-by: NTejun Heo <tj@kernel.org>
-
- 25 7月, 2018 1 次提交
-
-
由 Corentin Labbe 提交于
Since ahci_platform_put_resources() use target_pwrs after "devm_" freed it, we cannot use devm_kcalloc for allocating target_pwrs. This reverts commit bd0038b1. Reported-and-reviwed-by: NMikko Perttunen <mperttunen@nvidia.com> Tested-by: NMarcel Ziswiler <marcel.ziswiler@toradex.com> Tested-by: NJon Hunter <jonathanh@nvidia.com> Signed-off-by: NCorentin Labbe <clabbe@baylibre.com> Signed-off-by: NTejun Heo <tj@kernel.org>
-
- 13 7月, 2018 3 次提交
-
-
由 Corentin Labbe 提交于
Like phys, target_pwrs could be allocated with devm_ function Signed-off-by: NCorentin Labbe <clabbe@baylibre.com> Reviewed-by: NHans de Goede <hdegoede@redhat.com> Signed-off-by: NTejun Heo <tj@kernel.org>
-
由 Corentin Labbe 提交于
It's better to kcalloc instead of kzalloc(n * sizeof()) Signed-off-by: NCorentin Labbe <clabbe@baylibre.com> Reviewed-by: NHans de Goede <hdegoede@redhat.com> Signed-off-by: NTejun Heo <tj@kernel.org>
-
由 Corentin Labbe 提交于
The documentation about parameter for ahci_platform_shutdown has a typo. This fix the following build warning: drivers/ata/libahci_platform.c:693: warning: Function parameter or member 'pdev' not described in 'ahci_platform_shutdown' drivers/ata/libahci_platform.c:693: warning: Excess function parameter 'dev' description in 'ahci_platform_shutdow Signed-off-by: NCorentin Labbe <clabbe@baylibre.com> Reviewed-by: NHans de Goede <hdegoede@redhat.com> Signed-off-by: NTejun Heo <tj@kernel.org>
-
- 19 6月, 2018 1 次提交
-
-
由 Samuel Morris 提交于
A number of resources remain powered to support hotplug. On platforms I've worked with, allowing the ahci_platform to suspend saves about 150mW. This patch enables rpm and allows the device to be auto-suspended through sysfs. Signed-off-by: NSamuel Morris <samorris@lexmark.com> Signed-off-by: NTejun Heo <tj@kernel.org>
-
- 10 4月, 2018 1 次提交
-
-
由 Kunihiko Hayashi 提交于
This reverts commit f0f56716. According to Thierry's view, https://www.spinics.net/lists/linux-ide/msg55357.html some hardware-specific drivers already use their own resets, and the common reset might make a path to occur double controls of resets. For now, revert the commit that adds reset control support to ahci-platform, and hold until the solution is confirmed not be affect all hardware-specific drivers. Fixes: f0f56716 ("ata: ahci-platform: add reset control support") Reported-by: NThierry Reding <thierry.reding@gmail.com> Suggested-by: NHans de Goede <hdegoede@redhat.com> Acked-by: NHans de Goede <hdegoede@redhat.com> Signed-off-by: NKunihiko Hayashi <hayashi.kunihiko@socionext.com> Signed-off-by: NTejun Heo <tj@kernel.org>
-
- 26 3月, 2018 1 次提交
-
-
由 Kunihiko Hayashi 提交于
Add support to get and control a list of resets for the device as optional and shared. These resets must be kept de-asserted until the device is enabled. This is specified as shared because some SoCs like UniPhier series have common reset controls with all ahci controller instances. Signed-off-by: NKunihiko Hayashi <hayashi.kunihiko@socionext.com> Reviewed-by: NHans de Goede <hdegoede@redhat.com> Signed-off-by: NTejun Heo <tj@kernel.org>
-
- 13 2月, 2018 1 次提交
-
-
由 Baruch Siach 提交于
Indent the numbered item with one space like all other items in the same list. Signed-off-by: NBaruch Siach <baruch@tkos.co.il> Signed-off-by: NTejun Heo <tj@kernel.org>
-
- 23 10月, 2017 1 次提交
-
-
由 Gustavo A. R. Silva 提交于
In preparation to enabling -Wimplicit-fallthrough, mark switch cases where we are expecting to fall through. In cases where a "drop through" comment was already in place, I replaced it with a proper "fall through" comment, which is what GCC is expecting to find. Signed-off-by: NGustavo A. R. Silva <garsilva@embeddedor.com> Signed-off-by: NTejun Heo <tj@kernel.org>
-
- 05 8月, 2017 1 次提交
-
-
由 Nate Watterson 提交于
The newly introduced ahci_platform_shutdown() method is called during system shutdown to disable host controller DMA and interrupts in order to avoid potentially corrupting or otherwise interfering with a new kernel being started with kexec. Signed-off-by: NNate Watterson <nwatters@codeaurora.org> Signed-off-by: NTejun Heo <tj@kernel.org>
-
- 16 5月, 2017 1 次提交
-
-
由 Thomas Petazzoni 提交于
When platform_get_irq() fails, it returns an error code, which libahci_platform and replaces it by -EINVAL. This commit fixes that by propagating the error code. It fixes the situation where platform_get_irq() returns -EPROBE_DEFER because the interrupt controller is not available yet, and generally looks like the right thing to do. We pay attention to not show the "no irq" message when we are in an EPROBE_DEFER situation, because the driver probing will be retried later on, once the interrupt controller becomes available to provide the interrupt. Signed-off-by: NThomas Petazzoni <thomas.petazzoni@free-electrons.com> Reviewed-by: NHans de Goede <hdegoede@redhat.com> Signed-off-by: NTejun Heo <tj@kernel.org>
-
- 03 6月, 2015 1 次提交
-
-
由 Robert Richter 提交于
Currently, ahci supports only msi and intx. To also support msix the handling of the irq number need to be changed. The irq number for msix devices is taken from msi_list instead of pci_dev. Thus, the irq number of a device needs to be stored in struct ahci_host_priv now. This allows the host controller to be activated in a generic way. This change is only intended for ahci drivers. For that reason the irq number is stored in struct ahci_host_priv used only by ahci drivers. Thus, the ABI changes only for ahci_host_activate(), but existing ata drivers (about 50) are unaffected and keep unchanged. All users of ahci_host_activate() have been updated. While touching drivers/ata/libahci.c, doing a small code cleanup in ahci_port_start(). Signed-off-by: NRobert Richter <rrichter@cavium.com> Signed-off-by: NTejun Heo <tj@kernel.org>
-
- 03 2月, 2015 1 次提交
-
-
由 Guenter Roeck 提交于
of_platform_device_create does not exist if OF_ADDRESS is not configured, so limit its use accordingly. Without this fix, the sparc64:allmodconfig build fails with ERROR: "of_platform_device_create" [drivers/ata/libahci_platform.ko] undefined! Fixes: c7d7ddee ("ata: libahci: Allow using multiple regulators") Cc: Gregory CLEMENT <gregory.clement@free-electrons.com> Signed-off-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NTejun Heo <tj@kernel.org>
-
- 29 1月, 2015 1 次提交
-
-
由 Akinobu Mita 提交于
The owner module reference of the ahci platform's scsi_host is initialized to libahci_platform's one, because these drivers use a scsi_host_template defined in libahci_platform. So these drivers can be unloaded even if the scsi device is being accessed. This fixes it by pushing the scsi_host_template from libahci_platform to all leaf drivers. The scsi_host_template is passed through a new argument of ahci_platform_init_host(). Signed-off-by: NAkinobu Mita <akinobu.mita@gmail.com> Signed-off-by: NTejun Heo <tj@kernel.org> Cc: Hans de Goede <hdegoede@redhat.com> Cc: Christoph Hellwig <hch@lst.de> Cc: "James E.J. Bottomley" <JBottomley@parallels.com> Cc: linux-ide@vger.kernel.org Cc: linux-scsi@vger.kernel.org
-
- 22 1月, 2015 1 次提交
-
-
由 Thierry Reding 提交于
Commit c7d7ddee ("ata: libahci: Allow using multiple regulators") releases regulators during ahci_platform_put_resources(). That doesn't work because the function is run as part of the devres machinery. Such resources are torn down in reverse order. Since the array that holds pointers to the regulators is allocated using devres after the device context to which ahci_platform_put_resources() is attached, the memory will be freed before calling ahci_platform_put_resources() and thereby causing a use-after-free error. This commit fixes this by using regular allocations for the array. The memory can then be freed after the regulators have been released. This conserves the advantages of using the managed API. Reported-by: NPaul Walmsley <paul@pwsan.com> Signed-off-by: NThierry Reding <treding@nvidia.com> Signed-off-by: NTejun Heo <tj@kernel.org>
-
- 19 1月, 2015 2 次提交
-
-
由 Gregory CLEMENT 提交于
The current implementation of the libahci allows using multiple PHYs but not multiple regulators. This patch adds the support of multiple regulators. Until now it was mandatory to have a PHY under a subnode, now a port subnode can contain either a regulator or a PHY (or both). In order to be able to asociate a port with a regulator the port are now a platform device in the device tree case. There was only one driver which used directly the regulator field of the ahci_host_priv structure. To preserve the bisectability the change in the ahci_imx driver was done in the same patch. Signed-off-by: NGregory CLEMENT <gregory.clement@free-electrons.com> Acked-by: NHans de Goede <hdegoede@redhat.com> Signed-off-by: NTejun Heo <tj@kernel.org>
-
由 Gregory CLEMENT 提交于
The phy_ functions handle the NULL pointer case, so there is no need to skip them if there is a NULL pointer. Moreover, after the error label there is already no check on the pointer. This patch removes the unnecessary tests and brings some consistency. Signed-off-by: NGregory CLEMENT <gregory.clement@free-electrons.com> Acked-by: NHans de Goede <hdegoede@redhat.com> Signed-off-by: NTejun Heo <tj@kernel.org>
-
- 06 10月, 2014 1 次提交
-
-
由 Alexander Gordeev 提交于
Currently host activation done by calling either function ahci_host_activate() or ata_host_activate(). Consolidate the code by only calling ahci_host_activate() for all AHCI devices. Signed-off-by: NAlexander Gordeev <agordeev@redhat.com> Signed-off-by: NTejun Heo <tj@kernel.org> Cc: linux-ide@vger.kernel.org
-
- 31 8月, 2014 1 次提交
-
-
由 Fabio Estevam 提交于
ahci_platform_enable_phys() and ahci_platform_disable_phys() are currently exported, but they are not used anywhere else other than libahci_platform.c. So make them static and do not export them to fix the following sparse warnings: drivers/ata/libahci_platform.c:52:5: warning: symbol 'ahci_platform_enable_phys' was not declared. Should it be static? drivers/ata/libahci_platform.c:88:6: warning: symbol 'ahci_platform_disable_phys' was not declared. Should it be static? Signed-off-by: NFabio Estevam <fabio.estevam@freescale.com> Signed-off-by: NTejun Heo <tj@kernel.org>
-
- 16 8月, 2014 1 次提交
-
-
The last user of the deprecated struct ahci_platform_data has been cleaned up recently (SPEAr1340 got a proper PHY driver). Signed-off-by: NBartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> Acked-by: NHans de Goede <hdegoede@redhat.com> Signed-off-by: NTejun Heo <tj@kernel.org>
-
- 01 8月, 2014 1 次提交
-
-
由 Thierry Reding 提交于
Commit 725c7b57 (ata: libahci_platform: move port_map parameters into the AHCI structure) moves flags into the struct ahci_host_priv's .flags field, which causes compiler warnings on 64-bit builds when that value is cast to a void * pointer. Cast to an unsigned long so that the subsequent cast to a pointer doesn't produce a warning. Signed-off-by: NThierry Reding <treding@nvidia.com> Signed-off-by: NTejun Heo <tj@kernel.org>
-
- 31 7月, 2014 2 次提交
-
-
由 Antoine Ténart 提交于
The current implementation of the libahci does not allow to use multiple PHYs. This patch adds the support of multiple PHYs by the libahci while keeping the old bindings valid for device tree compatibility. This introduce a new way of defining SATA ports in the device tree, with one port per sub-node. This as the advantage of allowing a per port configuration. Because some ports may be accessible but disabled in the device tree, the port_map mask is computed automatically when using this. Signed-off-by: NAntoine Ténart <antoine.tenart@free-electrons.com> Acked-by: NHans de Goede <hdegoede@redhat.com> Acked-by: NKishon Vijay Abraham I <kishon@ti.com> Signed-off-by: NTejun Heo <tj@kernel.org>
-
由 Antoine Ténart 提交于
This patch moves force_port_map and mask_port_map into the ahci_host_priv structure. This allows to modify them into the AHCI framework. This is needed by the new dt bindings representing ports as the port_map mask is computed automatically. Parameters modifying force_port_map, mask_port_map and flags have been removed from the ahci_platform_init_host() function, and inputs in the ahci_host_priv structure are now directly filed. Signed-off-by: NAntoine Ténart <antoine.tenart@free-electrons.com> Signed-off-by: NTejun Heo <tj@kernel.org>
-
- 18 6月, 2014 2 次提交
-
-
由 Suravee Suthikulpanit 提交于
The current platform AHCI driver does not set the dma_mask correctly for 64-bit DMA capable AHCI controller. This patch checks the AHCI capability bit and set the dma_mask and coherent_dma_mask accordingly. Signed-off-by: NSuravee Suthikulpanit <Suravee.Suthikulpanit@amd.com> Reviewed-by: NBartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> Reviewed-by: NHans de Goede <hdegoede@redhat.com> Tested-by: NHans de Goede <hdegoede@redhat.com> Tested-by: NSuman Tripathi <stripathi@apm.com> Signed-off-by: NTejun Heo <tj@kernel.org>
-
由 Mikko Perttunen 提交于
ahci_platform_get_resources handles resource management for platform AHCI drivers, including getting a possible PHY from the device tree. Since not all drivers need a PHY, it ignores -ENODEV and -ENOSYS from devm_get_phy. However, when the PHY subsystem is mistakenly disabled, -ENOSYS can be returned even when a PHY is needed. This patch modifies the -ENOSYS case to check if a "phys" device tree node exists. If it exists, then clearly the PHY subsystem is mistakenly disabled and the driver cannot work, ahci_platform_get_resources will fail and propagate the error. Signed-off-by: NMikko Perttunen <mperttunen@nvidia.com> Acked-by: NBartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> Signed-off-by: NTejun Heo <tj@kernel.org>
-
- 15 5月, 2014 1 次提交
-
-
由 Kefeng Wang 提交于
Add a dynamic host_flags argument to make ahci_platform_init_host more flexible, then remove the AHCI_HFLAGS(...) argument from some driver's ata_port_info, and pass that in as the new argument. Cc: Hans de Geode <hdegoede@redhat.com> Reviewed-by: NHans de Goede <hdegoede@redhat.com> Signed-off-by: NKefeng Wang <kefeng.wang@linaro.org> Signed-off-by: NTejun Heo <tj@kernel.org>
-