diff options
author | Viresh Kumar <viresh.kumar@linaro.org> | 2016-05-14 23:42:20 +0530 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@google.com> | 2016-05-14 23:18:32 +0200 |
commit | 8888b963743be7aad2a98bc165fb51150db5fd9f (patch) | |
tree | e92141874a220d6e39301c8281cc0286330474ec /drivers/staging/greybus/spilib.c | |
parent | 4c412921c78732f8f803a5906c97746ede5cf77c (diff) |
greybus: spi: Separate out spilib from spi bridged PHY bundle driver
spilib can be used by multiple bridge drivers implementing different
bundle classes. Separate out bridged PHY bundle drivers parts.
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Reviewed-by: Rui Miguel Silva <rui.silva@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Diffstat (limited to 'drivers/staging/greybus/spilib.c')
-rw-r--r-- | drivers/staging/greybus/spilib.c | 60 |
1 files changed, 0 insertions, 60 deletions
diff --git a/drivers/staging/greybus/spilib.c b/drivers/staging/greybus/spilib.c index c7fe87801187..6ab1c5f77b7a 100644 --- a/drivers/staging/greybus/spilib.c +++ b/drivers/staging/greybus/spilib.c @@ -14,7 +14,6 @@ #include <linux/spi/spi.h> #include "greybus.h" -#include "gpbridge.h" #include "spilib.h" struct gb_spilib { @@ -521,63 +520,4 @@ void gb_spilib_master_exit(struct gb_connection *connection) } EXPORT_SYMBOL_GPL(gb_spilib_master_exit); -static int gb_spi_probe(struct gpbridge_device *gpbdev, - const struct gpbridge_device_id *id) -{ - struct gb_connection *connection; - int ret; - - connection = gb_connection_create(gpbdev->bundle, - le16_to_cpu(gpbdev->cport_desc->id), - NULL); - if (IS_ERR(connection)) - return PTR_ERR(connection); - - ret = gb_connection_enable(connection); - if (ret) - goto exit_connection_destroy; - - ret = gb_gpbridge_get_version(connection); - if (ret) - goto exit_connection_disable; - - ret = gb_spilib_master_init(connection, &gpbdev->dev); - if (ret) - goto exit_connection_disable; - - gb_gpbridge_set_data(gpbdev, connection); - - return 0; - -exit_connection_disable: - gb_connection_disable(connection); -exit_connection_destroy: - gb_connection_destroy(connection); - - return ret; -} - -static void gb_spi_remove(struct gpbridge_device *gpbdev) -{ - struct gb_connection *connection = gb_gpbridge_get_data(gpbdev); - - gb_spilib_master_exit(connection); - gb_connection_disable(connection); - gb_connection_destroy(connection); -} - -static const struct gpbridge_device_id gb_spi_id_table[] = { - { GPBRIDGE_PROTOCOL(GREYBUS_PROTOCOL_SPI) }, - { }, -}; -MODULE_DEVICE_TABLE(gpbridge, gb_spi_id_table); - -static struct gpbridge_driver spi_driver = { - .name = "spi", - .probe = gb_spi_probe, - .remove = gb_spi_remove, - .id_table = gb_spi_id_table, -}; - -module_gpbridge_driver(spi_driver); MODULE_LICENSE("GPL v2"); |