summaryrefslogtreecommitdiff
path: root/drivers/fsi/fsi-master-gpio.c
diff options
context:
space:
mode:
authorEddie James <eajames@linux.ibm.com>2020-06-10 00:39:27 +0300
committerJoel Stanley <joel@jms.id.au>2020-09-10 05:52:47 +0300
commit04635a30dd53890fac4e926f91c4ec8619c9227b (patch)
treea20f60529a37c5f26180f0fe6e3e3dad401eef3e /drivers/fsi/fsi-master-gpio.c
parent3c3c484850bcb4b28f2377e3d641a32c42af949c (diff)
downloadlinux-04635a30dd53890fac4e926f91c4ec8619c9227b.tar.xz
fsi: master: Add boolean parameter to link_enable function
Add the ability to disable a link with a boolean parameter to the link_enable function. This is necessary so that the master can disable links that it isn't using; for example, links to slaves that fail initialization. Signed-off-by: Eddie James <eajames@linux.ibm.com> Signed-off-by: Joel Stanley <joel@jms.id.au>
Diffstat (limited to 'drivers/fsi/fsi-master-gpio.c')
-rw-r--r--drivers/fsi/fsi-master-gpio.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/fsi/fsi-master-gpio.c b/drivers/fsi/fsi-master-gpio.c
index 4dcce17f243f..aa97c4a250cb 100644
--- a/drivers/fsi/fsi-master-gpio.c
+++ b/drivers/fsi/fsi-master-gpio.c
@@ -678,7 +678,8 @@ static void fsi_master_gpio_init_external(struct fsi_master_gpio *master)
gpiod_direction_input(master->gpio_data);
}
-static int fsi_master_gpio_link_enable(struct fsi_master *_master, int link)
+static int fsi_master_gpio_link_enable(struct fsi_master *_master, int link,
+ bool enable)
{
struct fsi_master_gpio *master = to_fsi_master_gpio(_master);
int rc = -EBUSY;
@@ -688,7 +689,7 @@ static int fsi_master_gpio_link_enable(struct fsi_master *_master, int link)
mutex_lock(&master->cmd_lock);
if (!master->external_mode) {
- gpiod_set_value(master->gpio_enable, 1);
+ gpiod_set_value(master->gpio_enable, enable ? 1 : 0);
rc = 0;
}
mutex_unlock(&master->cmd_lock);