linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: rkir@google.com
To: gregkh@linuxfoundation.org
Cc: linux-kernel@vger.kernel.org, tkjos@google.com,
	Roman Kiryanov <rkir@google.com>
Subject: [PATCH v3 02/15] platform: goldfish: pipe: Move the file-scope goldfish_pipe_miscdev variable into the driver state
Date: Wed,  3 Oct 2018 10:17:07 -0700	[thread overview]
Message-ID: <20181003171720.169953-2-rkir@google.com> (raw)
In-Reply-To: <20181003171720.169953-1-rkir@google.com>

From: Roman Kiryanov <rkir@google.com>

This is a series of patches to move mutable file-scope variables
into the driver state. This change will help to introduce another
version of the pipe driver (with different state) for the older
host interface or having several instances of this device.

Signed-off-by: Roman Kiryanov <rkir@google.com>
---
Changes in v3:
 - No change.
Changes in v2:
 - Updated the commit message.

 drivers/platform/goldfish/goldfish_pipe.c | 20 +++++++++++++-------
 1 file changed, 13 insertions(+), 7 deletions(-)

diff --git a/drivers/platform/goldfish/goldfish_pipe.c b/drivers/platform/goldfish/goldfish_pipe.c
index ba9aede17d57..8ca709b45e1f 100644
--- a/drivers/platform/goldfish/goldfish_pipe.c
+++ b/drivers/platform/goldfish/goldfish_pipe.c
@@ -211,6 +211,8 @@ struct goldfish_pipe_dev {
 
 	/* an irq tasklet to run goldfish_interrupt_task */
 	struct tasklet_struct irq_tasklet;
+
+	struct miscdevice miscdev;
 };
 
 static struct goldfish_pipe_dev goldfish_pipe_dev;
@@ -785,11 +787,14 @@ static const struct file_operations goldfish_pipe_fops = {
 	.release = goldfish_pipe_release,
 };
 
-static struct miscdevice goldfish_pipe_miscdev = {
-	.minor = MISC_DYNAMIC_MINOR,
-	.name = "goldfish_pipe",
-	.fops = &goldfish_pipe_fops,
-};
+static void init_miscdevice(struct miscdevice *miscdev)
+{
+	memset(miscdev, 0, sizeof(*miscdev));
+
+	miscdev->minor = MISC_DYNAMIC_MINOR;
+	miscdev->name = "goldfish_pipe";
+	miscdev->fops = &goldfish_pipe_fops;
+}
 
 static void write_pa_addr(void *addr, void __iomem *portl, void __iomem *porth)
 {
@@ -815,7 +820,8 @@ static int goldfish_pipe_device_init(struct platform_device *pdev)
 		return err;
 	}
 
-	err = misc_register(&goldfish_pipe_miscdev);
+	init_miscdevice(&dev->miscdev);
+	err = misc_register(&dev->miscdev);
 	if (err) {
 		dev_err(&pdev->dev, "unable to register v2 device\n");
 		return err;
@@ -860,7 +866,7 @@ static int goldfish_pipe_device_init(struct platform_device *pdev)
 
 static void goldfish_pipe_device_deinit(struct platform_device *pdev)
 {
-	misc_deregister(&goldfish_pipe_miscdev);
+	misc_deregister(&goldfish_pipe_dev.miscdev);
 	tasklet_kill(&goldfish_pipe_dev.irq_tasklet);
 	kfree(goldfish_pipe_dev.pipes);
 	free_page((unsigned long)goldfish_pipe_dev.buffers);
-- 
2.19.0.605.g01d371f741-goog


  reply	other threads:[~2018-10-03 17:17 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-10-03 17:17 [PATCH v3 01/15] platform: goldfish: pipe: Move the file-scope goldfish_interrupt_tasklet variable into the driver state rkir
2018-10-03 17:17 ` rkir [this message]
2018-10-03 17:17 ` [PATCH v3 03/15] platform: goldfish: pipe: Move the file-scope goldfish_pipe_dev " rkir
2018-10-03 17:17 ` [PATCH v3 04/15] platform: goldfish: pipe: Call misc_deregister if init fails rkir
2018-10-03 17:17 ` [PATCH v3 05/15] platform: goldfish: pipe: Remove redundant casting rkir
2018-10-03 17:17 ` [PATCH v3 06/15] platform: goldfish: pipe: Move memory allocation from probe to init rkir
2018-10-15 18:34   ` Greg KH
2018-10-15 18:48     ` Roman Kiryanov
2018-10-15 18:56       ` Greg KH
2018-10-15 19:06         ` Roman Kiryanov
2018-10-16  6:27           ` Greg KH
2018-10-16 20:48             ` Roman Kiryanov
2018-10-03 17:17 ` [PATCH v3 07/15] platform: goldfish: pipe: Return status from "deinit" since "remove" does not do much rkir
2018-10-15 18:36   ` Greg KH
2018-10-15 22:04     ` Roman Kiryanov
2018-10-16  6:30       ` Greg KH
2018-10-03 17:17 ` [PATCH v3 08/15] platform: goldfish: pipe: Add a blank line to separate varibles and code rkir
2018-10-03 17:17 ` [PATCH v3 09/15] platform: goldfish: pipe: Move goldfish_pipe to goldfish_pipe_v2 rkir
2018-10-15 18:38   ` Greg KH
2018-10-15 18:55     ` Roman Kiryanov
2018-10-15 19:01       ` Greg KH
2018-10-15 20:23         ` Roman Kiryanov
2018-10-16  6:29           ` Greg KH
2018-10-16 21:02             ` Roman Kiryanov
2018-10-03 17:17 ` [PATCH v3 10/15] platform: goldfish: pipe: Remove the license boilerplate rkir
2018-10-03 17:17 ` [PATCH v3 11/15] platform: goldfish: pipe: Split the driver to v2 specific and the rest rkir
2018-10-03 17:17 ` [PATCH v3 12/15] platform: goldfish: pipe: Rename the init function (add "v2") rkir
2018-10-03 17:17 ` [PATCH v3 13/15] platform: goldfish: pipe: Add a dedicated constant for the device name rkir
2018-10-03 17:17 ` [PATCH v3 14/15] platform: goldfish: pipe: Rename PIPE_REG to PIPE_V2_REG rkir
2018-10-03 17:17 ` [PATCH v3 15/15] platform: goldfish: pipe: Add the goldfish_pipe_v1 driver rkir

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=20181003171720.169953-2-rkir@google.com \
    --to=rkir@google.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=tkjos@google.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).