From: Sebastian Reichel <sre@kernel.org>
To: Sebastian Reichel <sre@kernel.org>,
Mauro Carvalho Chehab <mchehab@kernel.org>,
Marcel Holtmann <marcel@holtmann.org>,
Tony Lindgren <tony@atomide.com>
Cc: Rob Herring <robh@kernel.org>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Pavel Machek <pavel@ucw.cz>,
linux-bluetooth@vger.kernel.org, linux-media@vger.kernel.org,
linux-omap@vger.kernel.org, linux-kernel@vger.kernel.org,
Sebastian Reichel <sebastian.reichel@collabora.com>
Subject: [PATCH 07/14] media: wl128x-radio: convert to platform device
Date: Fri, 21 Dec 2018 02:17:45 +0100 [thread overview]
Message-ID: <20181221011752.25627-8-sre@kernel.org> (raw)
In-Reply-To: <20181221011752.25627-1-sre@kernel.org>
From: Sebastian Reichel <sebastian.reichel@collabora.com>
This converts the wl128x FM radio module into a platform device.
It's a preparation for using it from hci_ll Bluetooth driver instead
of TI_ST.
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
---
drivers/media/radio/wl128x/fmdrv_common.c | 30 ++++++++++++-----------
1 file changed, 16 insertions(+), 14 deletions(-)
diff --git a/drivers/media/radio/wl128x/fmdrv_common.c b/drivers/media/radio/wl128x/fmdrv_common.c
index f77acec0addf..9526613adf91 100644
--- a/drivers/media/radio/wl128x/fmdrv_common.c
+++ b/drivers/media/radio/wl128x/fmdrv_common.c
@@ -35,11 +35,10 @@
#include "fmdrv_v4l2.h"
#include "fmdrv_common.h"
#include <linux/ti_wilink_st.h>
+#include <linux/platform_device.h>
#include "fmdrv_rx.h"
#include "fmdrv_tx.h"
-struct fmdev *global_fmdev;
-
/* Region info */
static struct region_info region_configs[] = {
/* Europe/US */
@@ -1615,23 +1614,19 @@ int fmc_release(struct fmdev *fmdev)
return ret;
}
-/*
- * Module init function. Ask FM V4L module to register video device.
- * Allocate memory for FM driver context and RX RDS buffer.
- */
-static int __init fm_drv_init(void)
+static int wl128x_fm_probe(struct platform_device *dev)
{
struct fmdev *fmdev = NULL;
int ret = -ENOMEM;
fmdbg("FM driver\n");
+ /* Allocate memory for FM driver context and RX RDS buffer. */
fmdev = kzalloc(sizeof(struct fmdev), GFP_KERNEL);
if (NULL == fmdev) {
fmerr("Can't allocate operation structure memory\n");
return ret;
}
- global_fmdev = fmdev;
fmdev->rx.rds.buf_size = default_rds_buf * FM_RDS_BLK_SIZE;
fmdev->rx.rds.buff = kzalloc(fmdev->rx.rds.buf_size, GFP_KERNEL);
if (NULL == fmdev->rx.rds.buff) {
@@ -1639,6 +1634,7 @@ static int __init fm_drv_init(void)
goto rel_dev;
}
+ /* Ask FM V4L module to register video device. */
ret = fm_v4l2_init_video_device(fmdev, radio_nr);
if (ret < 0)
goto rel_rdsbuf;
@@ -1657,10 +1653,9 @@ static int __init fm_drv_init(void)
return ret;
}
-/* Module exit function. Ask FM V4L module to unregister video device */
-static void __exit fm_drv_exit(void)
+static int wl128x_fm_remove(struct platform_device *dev)
{
- struct fmdev *fmdev = global_fmdev;
+ struct fmdev *fmdev = platform_get_drvdata(pdev);
/* Ask FM V4L module to unregister video device */
fm_v4l2_deinit_video_device(fmdev);
@@ -1668,12 +1663,19 @@ static void __exit fm_drv_exit(void)
kfree(fmdev->rx.rds.buff);
kfree(fmdev);
}
+
+ return 0;
}
-module_init(fm_drv_init);
-module_exit(fm_drv_exit);
+static struct platform_driver wl128x_fm_drv = {
+ .driver = {
+ .name = "wl128x-fm",
+ },
+ .probe = wl128x_fm_probe,
+ .remove = wl128x_fm_remove,
+};
+module_platform_driver(wl128x_fm_drv);
-/* ------------- Module Info ------------- */
MODULE_AUTHOR("Manjunatha Halli <manjunatha_halli@ti.com>");
MODULE_DESCRIPTION("FM Driver for TI's Connectivity chip");
MODULE_LICENSE("GPL");
--
2.19.2
next prev parent reply other threads:[~2018-12-21 1:19 UTC|newest]
Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-12-21 1:17 [PATCH 00/14] Add support for FM radio in hcill and kill TI_ST Sebastian Reichel
2018-12-21 1:17 ` [PATCH 01/14] ARM: dts: LogicPD Torpedo: Add WiLink UART node Sebastian Reichel
2018-12-21 20:05 ` Adam Ford
2018-12-21 1:17 ` [PATCH 02/14] ARM: dts: IGEP: " Sebastian Reichel
2019-02-18 22:04 ` Enric Balletbo Serra
2018-12-21 1:17 ` [PATCH 03/14] ARM: OMAP2+: pdata-quirks: drop TI_ST/KIM support Sebastian Reichel
2018-12-21 1:17 ` [PATCH 04/14] media: wl128x-radio: remove module version Sebastian Reichel
2018-12-21 1:17 ` [PATCH 05/14] media: wl128x-radio: remove global radio_disconnected Sebastian Reichel
2018-12-22 19:10 ` Pavel Machek
2018-12-21 1:17 ` [PATCH 06/14] media: wl128x-radio: remove global radio_dev Sebastian Reichel
2018-12-22 19:16 ` Pavel Machek
2018-12-21 1:17 ` Sebastian Reichel [this message]
2018-12-22 19:17 ` [PATCH 07/14] media: wl128x-radio: convert to platform device Pavel Machek
2018-12-21 1:17 ` [PATCH 08/14] media: wl128x-radio: use device managed memory allocation Sebastian Reichel
2018-12-22 19:20 ` Pavel Machek
2018-12-21 1:17 ` [PATCH 09/14] media: wl128x-radio: load firmware from ti-connectivity/ Sebastian Reichel
2018-12-21 1:17 ` [PATCH 10/14] media: wl128x-radio: simplify fmc_prepare/fmc_release Sebastian Reichel
2018-12-22 19:29 ` Pavel Machek
2019-01-09 18:17 ` Sebastian Reichel
2018-12-21 1:17 ` [PATCH 11/14] media: wl128x-radio: fix skb debug printing Sebastian Reichel
2018-12-22 19:30 ` Pavel Machek
2018-12-21 1:17 ` [PATCH 12/14] media: wl128x-radio: move from TI_ST to hci_ll driver Sebastian Reichel
2018-12-23 15:56 ` Marcel Holtmann
2019-01-09 18:11 ` Sebastian Reichel
2019-01-09 19:24 ` Marcel Holtmann
2019-01-10 1:23 ` Rob Herring
2018-12-21 1:17 ` [PATCH 13/14] Bluetooth: btwilink: drop superseded driver Sebastian Reichel
2018-12-21 1:17 ` [PATCH 14/14] misc: ti-st: Drop " Sebastian Reichel
2018-12-21 21:10 ` Adam Ford
2018-12-22 3:00 ` Sebastian Reichel
2018-12-22 13:17 ` Adam Ford
2018-12-21 18:02 ` [PATCH 00/14] Add support for FM radio in hcill and kill TI_ST Tony Lindgren
2018-12-21 18:02 ` Tony Lindgren
2018-12-22 2:47 ` Sebastian Reichel
2018-12-23 16:15 ` Tony Lindgren
2018-12-22 20:36 ` Adam Ford
2018-12-23 16:22 ` Tony Lindgren
2018-12-22 20:08 ` Pavel Machek
2018-12-22 22:40 ` Pavel Machek
2019-01-10 17:42 ` Sebastian Reichel
2019-03-14 8:20 ` Hans Verkuil
2019-03-14 12:18 ` Adam Ford
2019-03-19 13:31 ` Sebastian Reichel
2019-05-07 17:26 ` Adam Ford
2019-05-07 18:34 ` Adam Ford
2019-05-08 20:58 ` Marcel Holtmann
2019-05-10 13:28 ` Adam Ford
2019-05-10 15:38 ` Marcel Holtmann
2019-09-30 23:42 ` Adam Ford
2019-10-02 19:03 ` Adam Ford
2019-10-03 13:42 ` Sebastian Reichel
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=20181221011752.25627-8-sre@kernel.org \
--to=sre@kernel.org \
--cc=gregkh@linuxfoundation.org \
--cc=linux-bluetooth@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=linux-omap@vger.kernel.org \
--cc=marcel@holtmann.org \
--cc=mchehab@kernel.org \
--cc=pavel@ucw.cz \
--cc=robh@kernel.org \
--cc=sebastian.reichel@collabora.com \
--cc=tony@atomide.com \
/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.