All of lore.kernel.org
 help / color / mirror / Atom feed
From: Todd Poynor <toddpoynor@gmail.com>
To: Rob Springer <rspringer@google.com>,
	John Joseph <jnjoseph@google.com>,
	Ben Chan <benchan@chromium.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: devel@driverdev.osuosl.org, linux-kernel@vger.kernel.org,
	Todd Poynor <toddpoynor@google.com>
Subject: [PATCH 05/15] staging: gasket: core: remove device enable and disable callbacks
Date: Sun,  5 Aug 2018 13:07:39 -0700	[thread overview]
Message-ID: <20180805200749.116693-6-toddpoynor@gmail.com> (raw)
In-Reply-To: <20180805200749.116693-1-toddpoynor@gmail.com>

From: Todd Poynor <toddpoynor@google.com>

Device enable/disable operations are moving from being initiated through
the gasket framework to being initiated by the gasket device driver.
The driver can perform any processing needed for these operations before
or after the calls into the framework.  Neither of these callbacks are
implemented for the only gasket driver upstream today, apex.

Signed-off-by: Todd Poynor <toddpoynor@google.com>
---
 drivers/staging/gasket/gasket_core.c |  9 ---------
 drivers/staging/gasket/gasket_core.h | 27 ++-------------------------
 2 files changed, 2 insertions(+), 34 deletions(-)

diff --git a/drivers/staging/gasket/gasket_core.c b/drivers/staging/gasket/gasket_core.c
index 2741256eacfe8..b070efaf0d41c 100644
--- a/drivers/staging/gasket/gasket_core.c
+++ b/drivers/staging/gasket/gasket_core.c
@@ -648,8 +648,6 @@ static void gasket_disable_dev(struct gasket_dev *gasket_dev)
 			gasket_page_table_cleanup(gasket_dev->page_table[i]);
 		}
 	}
-
-	check_and_invoke_callback(gasket_dev, driver_desc->disable_dev_cb);
 }
 
 /*
@@ -1408,13 +1406,6 @@ static int gasket_enable_dev(struct gasket_internal_desc *internal_desc,
 	}
 	gasket_dev->hardware_revision = ret;
 
-	ret = check_and_invoke_callback(gasket_dev, driver_desc->enable_dev_cb);
-	if (ret) {
-		dev_err(gasket_dev->dev, "Error in enable device cb: %d\n",
-			ret);
-		return ret;
-	}
-
 	/* device_status_cb returns a device status, not an error code. */
 	gasket_dev->status = gasket_get_hw_status(gasket_dev);
 	if (gasket_dev->status == GASKET_STATUS_DEAD)
diff --git a/drivers/staging/gasket/gasket_core.h b/drivers/staging/gasket/gasket_core.h
index 9f9bc66a0daa0..5d40bc7f52e91 100644
--- a/drivers/staging/gasket/gasket_core.h
+++ b/drivers/staging/gasket/gasket_core.h
@@ -473,34 +473,11 @@ struct gasket_driver_desc {
 	 */
 	int (*device_close_cb)(struct gasket_dev *dev);
 
-	/*
-	 * enable_dev_cb: Callback immediately before enabling the device.
-	 * @dev: Pointer to the gasket_dev struct for this driver instance.
-	 *
-	 * This callback is invoked after the device has been added and all BAR
-	 * spaces mapped, immediately before registering and enabling the
-	 * [character] device via cdev_add. If this call fails (returns
-	 * nonzero), disable_dev_cb will be called.
-	 *
-	 * Note that cdev are initialized but not active
-	 * (cdev_add has not yet been called) when this callback is invoked.
-	 */
-	int (*enable_dev_cb)(struct gasket_dev *dev);
-
-	/*
-	 * disable_dev_cb: Callback immediately after disabling the device.
-	 * @dev: Pointer to the gasket_dev struct for this driver instance.
-	 *
-	 * Called during device shutdown, immediately after disabling device
-	 * operations via cdev_del.
-	 */
-	int (*disable_dev_cb)(struct gasket_dev *dev);
-
 	/*
 	 * sysfs_setup_cb: Callback to set up driver-specific sysfs nodes.
 	 * @dev: Pointer to the gasket_dev struct for this device.
 	 *
-	 * Called just before enable_dev_cb.
+	 * Called during the add gasket device call.
 	 *
 	 */
 	int (*sysfs_setup_cb)(struct gasket_dev *dev);
@@ -509,7 +486,7 @@ struct gasket_driver_desc {
 	 * sysfs_cleanup_cb: Callback to clean up driver-specific sysfs nodes.
 	 * @dev: Pointer to the gasket_dev struct for this device.
 	 *
-	 * Called just before disable_dev_cb.
+	 * Called during device disable processing.
 	 *
 	 */
 	int (*sysfs_cleanup_cb)(struct gasket_dev *dev);
-- 
2.18.0.597.ga71716f1ad-goog


  parent reply	other threads:[~2018-08-05 20:08 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-08-05 20:07 [PATCH 00/15] staging: gasket: unwrap pci core and more Todd Poynor
2018-08-05 20:07 ` [PATCH 01/15] staging: gasket: sysfs: clean up state if ENOMEM removing mapping Todd Poynor
2018-08-05 20:07 ` [PATCH 02/15] staging: gasket: core: move core PCI calls to device drivers Todd Poynor
2018-08-05 20:07 ` [PATCH 03/15] staging: gasket: apex: move PCI core calls to apex driver Todd Poynor
2018-08-05 20:07 ` [PATCH 04/15] staging: gasket: core: convert remaining info logs to debug Todd Poynor
2018-08-08  9:17   ` Greg Kroah-Hartman
2018-08-05 20:07 ` Todd Poynor [this message]
2018-08-05 20:07 ` [PATCH 06/15] staging: gasket: apex: remove device enable and disable callbacks Todd Poynor
2018-08-05 20:07 ` [PATCH 07/15] staging: gasket: core: let device driver enable/disable gasket device Todd Poynor
2018-08-05 20:07 ` [PATCH 08/15] staging: gasket: apex: enable/disable gasket device from apex Todd Poynor
2018-08-05 20:07 ` [PATCH 09/15] staging: gasket: core: delete device add and remove callbacks Todd Poynor
2018-08-05 20:07 ` [PATCH 10/15] staging: gasket: apex: fold device add/remove logic inline Todd Poynor
2018-08-05 20:07 ` [PATCH 11/15] staging: gasket: core: remove sysfs setup and cleanup callbacks Todd Poynor
2018-08-05 20:07 ` [PATCH 12/15] staging: gasket: apex: move sysfs setup code to probe function Todd Poynor
2018-08-05 20:07 ` [PATCH 13/15] staging: gasket: core: protect against races during unregister Todd Poynor
2018-08-05 20:07 ` [PATCH 14/15] staging: gasket: apex: place in low power reset until opened Todd Poynor
2018-08-05 20:07 ` [PATCH 15/15] staging: gasket: core: remove incorrect extraneous comment Todd Poynor
2018-08-08  9:20 ` [PATCH 00/15] staging: gasket: unwrap pci core and more Greg Kroah-Hartman

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=20180805200749.116693-6-toddpoynor@gmail.com \
    --to=toddpoynor@gmail.com \
    --cc=benchan@chromium.org \
    --cc=devel@driverdev.osuosl.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=jnjoseph@google.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rspringer@google.com \
    --cc=toddpoynor@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 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.