* [PATCH 0/2] Remove mmc_host enable/disable methods. @ 2015-03-25 21:43 NeilBrown 2015-03-25 21:43 ` [PATCH 2/2] mmc: remove " NeilBrown ` (2 more replies) 0 siblings, 3 replies; 7+ messages in thread From: NeilBrown @ 2015-03-25 21:43 UTC (permalink / raw) To: Tony Lindgren, Ulf Hansson, Adrian Hunter, Chris Ball Cc: linux-omap, linux-mmc, linux-kernel Only omap_hsmmc uses enable and disable, and this seems to be largely for historical reasons and is no longer necessary. I have tested these patches with an OMAP3 with an uSD card on mmc0 and a wifi SDIO device on mmc1. NeilBrown --- NeilBrown (2): mmc: omap_hsmmc: stop using .enable and .disable method. mmc: remove enable/disable methods. drivers/mmc/core/core.c | 5 ----- drivers/mmc/host/omap_hsmmc.c | 24 +++--------------------- include/linux/mmc/host.h | 6 ------ 3 files changed, 3 insertions(+), 32 deletions(-) -- Signature ^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 2/2] mmc: remove enable/disable methods. 2015-03-25 21:43 [PATCH 0/2] Remove mmc_host enable/disable methods NeilBrown @ 2015-03-25 21:43 ` NeilBrown 2015-03-25 21:43 ` [PATCH 1/2] mmc: omap_hsmmc: stop using .enable and .disable method NeilBrown 2015-03-27 10:01 ` [PATCH 0/2] Remove mmc_host enable/disable methods Ulf Hansson 2 siblings, 0 replies; 7+ messages in thread From: NeilBrown @ 2015-03-25 21:43 UTC (permalink / raw) To: Tony Lindgren, Ulf Hansson, Adrian Hunter, Chris Ball Cc: linux-omap, linux-mmc, linux-kernel The 'enable' and 'disable' methods are "deprecated" according to host.h, and are no longer used. So discard them. Signed-off-by: NeilBrown <neil@brown.name> --- drivers/mmc/core/core.c | 5 ----- include/linux/mmc/host.h | 6 ------ 2 files changed, 11 deletions(-) diff --git a/drivers/mmc/core/core.c b/drivers/mmc/core/core.c index 23f10f72e5f3..709ada9f26b5 100644 --- a/drivers/mmc/core/core.c +++ b/drivers/mmc/core/core.c @@ -920,8 +920,6 @@ int __mmc_claim_host(struct mmc_host *host, atomic_t *abort) wake_up(&host->wq); spin_unlock_irqrestore(&host->lock, flags); remove_wait_queue(&host->wq, &wait); - if (host->ops->enable && !stop && host->claim_cnt == 1) - host->ops->enable(host); return stop; } @@ -940,9 +938,6 @@ void mmc_release_host(struct mmc_host *host) WARN_ON(!host->claimed); - if (host->ops->disable && host->claim_cnt == 1) - host->ops->disable(host); - spin_lock_irqsave(&host->lock, flags); if (--host->claim_cnt) { /* Release for nested claim */ diff --git a/include/linux/mmc/host.h b/include/linux/mmc/host.h index 0c8cbe5d1550..b5bedaec6223 100644 --- a/include/linux/mmc/host.h +++ b/include/linux/mmc/host.h @@ -80,12 +80,6 @@ struct mmc_ios { struct mmc_host_ops { /* - * 'enable' is called when the host is claimed and 'disable' is called - * when the host is released. 'enable' and 'disable' are deprecated. - */ - int (*enable)(struct mmc_host *host); - int (*disable)(struct mmc_host *host); - /* * It is optional for the host to implement pre_req and post_req in * order to support double buffering of requests (prepare one * request while another request is active). ^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 1/2] mmc: omap_hsmmc: stop using .enable and .disable method. 2015-03-25 21:43 [PATCH 0/2] Remove mmc_host enable/disable methods NeilBrown 2015-03-25 21:43 ` [PATCH 2/2] mmc: remove " NeilBrown @ 2015-03-25 21:43 ` NeilBrown 2015-03-26 1:18 ` NeilBrown 2015-03-27 10:01 ` [PATCH 0/2] Remove mmc_host enable/disable methods Ulf Hansson 2 siblings, 1 reply; 7+ messages in thread From: NeilBrown @ 2015-03-25 21:43 UTC (permalink / raw) To: Tony Lindgren, Ulf Hansson, Adrian Hunter, Chris Ball Cc: linux-omap, linux-mmc, linux-kernel enable and disable are only used to get and put runtime pm references. .set_ios already does this itself, and other drivers just do it in set_ios and .request without using enable/disable. So add pm_runtime get/put to omap_hsmmc_request(), and discard the enable/disable methods. Signed-off-by: NeilBrown <neil@brown.name> --- drivers/mmc/host/omap_hsmmc.c | 24 +++--------------------- 1 file changed, 3 insertions(+), 21 deletions(-) diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c index f84cfb01716d..092bcecd73e6 100644 --- a/drivers/mmc/host/omap_hsmmc.c +++ b/drivers/mmc/host/omap_hsmmc.c @@ -882,6 +882,8 @@ static void omap_hsmmc_request_done(struct omap_hsmmc_host *host, struct mmc_req return; host->mrq = NULL; mmc_request_done(host->mmc, mrq); + pm_runtime_mark_last_busy(host->dev); + pm_runtime_put_autosuspend(host->dev); } /* @@ -1537,6 +1539,7 @@ static void omap_hsmmc_request(struct mmc_host *mmc, struct mmc_request *req) BUG_ON(host->req_in_progress); BUG_ON(host->dma_ch != -1); + pm_runtime_get_sync(host->dev); if (host->protect_card) { if (host->reqs_blocked < 3) { /* @@ -1778,25 +1781,6 @@ static void omap_hsmmc_conf_bus_power(struct omap_hsmmc_host *host) set_sd_bus_power(host); } -static int omap_hsmmc_enable_fclk(struct mmc_host *mmc) -{ - struct omap_hsmmc_host *host = mmc_priv(mmc); - - pm_runtime_get_sync(host->dev); - - return 0; -} - -static int omap_hsmmc_disable_fclk(struct mmc_host *mmc) -{ - struct omap_hsmmc_host *host = mmc_priv(mmc); - - pm_runtime_mark_last_busy(host->dev); - pm_runtime_put_autosuspend(host->dev); - - return 0; -} - static int omap_hsmmc_multi_io_quirk(struct mmc_card *card, unsigned int direction, int blk_size) { @@ -1808,8 +1792,6 @@ static int omap_hsmmc_multi_io_quirk(struct mmc_card *card, } static struct mmc_host_ops omap_hsmmc_ops = { - .enable = omap_hsmmc_enable_fclk, - .disable = omap_hsmmc_disable_fclk, .post_req = omap_hsmmc_post_req, .pre_req = omap_hsmmc_pre_req, .request = omap_hsmmc_request, ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH 1/2] mmc: omap_hsmmc: stop using .enable and .disable method. 2015-03-25 21:43 ` [PATCH 1/2] mmc: omap_hsmmc: stop using .enable and .disable method NeilBrown @ 2015-03-26 1:18 ` NeilBrown 2015-03-26 7:38 ` Ulf Hansson 0 siblings, 1 reply; 7+ messages in thread From: NeilBrown @ 2015-03-26 1:18 UTC (permalink / raw) To: NeilBrown Cc: Tony Lindgren, Ulf Hansson, Adrian Hunter, Chris Ball, linux-omap, linux-mmc, linux-kernel [-- Attachment #1: Type: text/plain, Size: 3719 bytes --] On Thu, 26 Mar 2015 08:43:37 +1100 NeilBrown <neil@brown.name> wrote: > enable and disable are only used to get and put > runtime pm references. .set_ios already does this > itself, and other drivers just do it in set_ios > and .request without using enable/disable. > > So add pm_runtime get/put to omap_hsmmc_request(), > and discard the enable/disable methods. > > Signed-off-by: NeilBrown <neil@brown.name> Sorry, that patch wasn't much good. This one I have really tested properly and checked that the 'put' match the 'get's and that the device to regularly go to sleep as expected. NeilBrown From: NeilBrown <neil@brown.name> Date: Thu, 26 Mar 2015 08:28:43 +1100 Subject: [PATCH] mmc: omap_hsmmc: stop using .enable and .disable method. enable and disable are only used to get and put runtime pm references. .set_ios already does this itself, and other drivers just do it in set_ios and .request without using enable/disable. So add pm_runtime get/put to omap_hsmmc_request(), and discard the enable/disable methods. Signed-off-by: NeilBrown <neil@brown.name> diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c index f84cfb01716d..2cb81538a612 100644 --- a/drivers/mmc/host/omap_hsmmc.c +++ b/drivers/mmc/host/omap_hsmmc.c @@ -882,6 +882,8 @@ static void omap_hsmmc_request_done(struct omap_hsmmc_host *host, struct mmc_req return; host->mrq = NULL; mmc_request_done(host->mmc, mrq); + pm_runtime_mark_last_busy(host->dev); + pm_runtime_put_autosuspend(host->dev); } /* @@ -1305,6 +1307,8 @@ static void omap_hsmmc_dma_callback(void *param) host->mrq = NULL; mmc_request_done(host->mmc, mrq); + pm_runtime_mark_last_busy(host->dev); + pm_runtime_put_autosuspend(host->dev); } } @@ -1537,6 +1541,7 @@ static void omap_hsmmc_request(struct mmc_host *mmc, struct mmc_request *req) BUG_ON(host->req_in_progress); BUG_ON(host->dma_ch != -1); + pm_runtime_get_sync(host->dev); if (host->protect_card) { if (host->reqs_blocked < 3) { /* @@ -1553,6 +1558,8 @@ static void omap_hsmmc_request(struct mmc_host *mmc, struct mmc_request *req) req->data->error = -EBADF; req->cmd->retries = 0; mmc_request_done(mmc, req); + pm_runtime_mark_last_busy(host->dev); + pm_runtime_put_autosuspend(host->dev); return; } else if (host->reqs_blocked) host->reqs_blocked = 0; @@ -1566,6 +1573,8 @@ static void omap_hsmmc_request(struct mmc_host *mmc, struct mmc_request *req) req->data->error = err; host->mrq = NULL; mmc_request_done(mmc, req); + pm_runtime_mark_last_busy(host->dev); + pm_runtime_put_autosuspend(host->dev); return; } if (req->sbc && !(host->flags & AUTO_CMD23)) { @@ -1778,25 +1787,6 @@ static void omap_hsmmc_conf_bus_power(struct omap_hsmmc_host *host) set_sd_bus_power(host); } -static int omap_hsmmc_enable_fclk(struct mmc_host *mmc) -{ - struct omap_hsmmc_host *host = mmc_priv(mmc); - - pm_runtime_get_sync(host->dev); - - return 0; -} - -static int omap_hsmmc_disable_fclk(struct mmc_host *mmc) -{ - struct omap_hsmmc_host *host = mmc_priv(mmc); - - pm_runtime_mark_last_busy(host->dev); - pm_runtime_put_autosuspend(host->dev); - - return 0; -} - static int omap_hsmmc_multi_io_quirk(struct mmc_card *card, unsigned int direction, int blk_size) { @@ -1808,8 +1798,6 @@ static int omap_hsmmc_multi_io_quirk(struct mmc_card *card, } static struct mmc_host_ops omap_hsmmc_ops = { - .enable = omap_hsmmc_enable_fclk, - .disable = omap_hsmmc_disable_fclk, .post_req = omap_hsmmc_post_req, .pre_req = omap_hsmmc_pre_req, .request = omap_hsmmc_request, [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 811 bytes --] ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH 1/2] mmc: omap_hsmmc: stop using .enable and .disable method. 2015-03-26 1:18 ` NeilBrown @ 2015-03-26 7:38 ` Ulf Hansson 2015-03-26 8:05 ` Ulf Hansson 0 siblings, 1 reply; 7+ messages in thread From: Ulf Hansson @ 2015-03-26 7:38 UTC (permalink / raw) To: NeilBrown Cc: NeilBrown, Tony Lindgren, Adrian Hunter, Chris Ball, linux-omap, linux-mmc, linux-kernel On 26 March 2015 at 02:18, NeilBrown <neilb@suse.de> wrote: > On Thu, 26 Mar 2015 08:43:37 +1100 NeilBrown <neil@brown.name> wrote: > >> enable and disable are only used to get and put >> runtime pm references. .set_ios already does this >> itself, and other drivers just do it in set_ios >> and .request without using enable/disable. >> >> So add pm_runtime get/put to omap_hsmmc_request(), >> and discard the enable/disable methods. >> >> Signed-off-by: NeilBrown <neil@brown.name> > > Sorry, that patch wasn't much good. This one I have really tested properly > and checked that the 'put' match the 'get's and that the device to regularly > go to sleep as expected. > > NeilBrown > > > From: NeilBrown <neil@brown.name> > Date: Thu, 26 Mar 2015 08:28:43 +1100 > Subject: [PATCH] mmc: omap_hsmmc: stop using .enable and .disable method. > > enable and disable are only used to get and put > runtime pm references. .set_ios already does this > itself, and other drivers just do it in set_ios > and .request without using enable/disable. > > So add pm_runtime get/put to omap_hsmmc_request(), > and discard the enable/disable methods. > > Signed-off-by: NeilBrown <neil@brown.name> > > diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c > index f84cfb01716d..2cb81538a612 100644 > --- a/drivers/mmc/host/omap_hsmmc.c > +++ b/drivers/mmc/host/omap_hsmmc.c > @@ -882,6 +882,8 @@ static void omap_hsmmc_request_done(struct omap_hsmmc_host *host, struct mmc_req > return; > host->mrq = NULL; > mmc_request_done(host->mmc, mrq); > + pm_runtime_mark_last_busy(host->dev); > + pm_runtime_put_autosuspend(host->dev); > } How about adding a function like this: _omap_hsmmc_request_done(struct omap_hsmmc_host *host, struct mmc_req) { mmc_request_done(host->mmc, mrq); pm_runtime_mark_last_busy(host->dev); pm_runtime_put_autosuspend(host->dev); } Then just invoke it from those places were needed? > > /* > @@ -1305,6 +1307,8 @@ static void omap_hsmmc_dma_callback(void *param) > > host->mrq = NULL; > mmc_request_done(host->mmc, mrq); > + pm_runtime_mark_last_busy(host->dev); > + pm_runtime_put_autosuspend(host->dev); > } > } > > @@ -1537,6 +1541,7 @@ static void omap_hsmmc_request(struct mmc_host *mmc, struct mmc_request *req) > > BUG_ON(host->req_in_progress); > BUG_ON(host->dma_ch != -1); > + pm_runtime_get_sync(host->dev); > if (host->protect_card) { > if (host->reqs_blocked < 3) { > /* > @@ -1553,6 +1558,8 @@ static void omap_hsmmc_request(struct mmc_host *mmc, struct mmc_request *req) > req->data->error = -EBADF; > req->cmd->retries = 0; > mmc_request_done(mmc, req); > + pm_runtime_mark_last_busy(host->dev); > + pm_runtime_put_autosuspend(host->dev); > return; > } else if (host->reqs_blocked) > host->reqs_blocked = 0; > @@ -1566,6 +1573,8 @@ static void omap_hsmmc_request(struct mmc_host *mmc, struct mmc_request *req) > req->data->error = err; > host->mrq = NULL; > mmc_request_done(mmc, req); > + pm_runtime_mark_last_busy(host->dev); > + pm_runtime_put_autosuspend(host->dev); > return; > } > if (req->sbc && !(host->flags & AUTO_CMD23)) { > @@ -1778,25 +1787,6 @@ static void omap_hsmmc_conf_bus_power(struct omap_hsmmc_host *host) > set_sd_bus_power(host); > } > > -static int omap_hsmmc_enable_fclk(struct mmc_host *mmc) > -{ > - struct omap_hsmmc_host *host = mmc_priv(mmc); > - > - pm_runtime_get_sync(host->dev); > - > - return 0; > -} > - > -static int omap_hsmmc_disable_fclk(struct mmc_host *mmc) > -{ > - struct omap_hsmmc_host *host = mmc_priv(mmc); > - > - pm_runtime_mark_last_busy(host->dev); > - pm_runtime_put_autosuspend(host->dev); > - > - return 0; > -} > - > static int omap_hsmmc_multi_io_quirk(struct mmc_card *card, > unsigned int direction, int blk_size) > { > @@ -1808,8 +1798,6 @@ static int omap_hsmmc_multi_io_quirk(struct mmc_card *card, > } > > static struct mmc_host_ops omap_hsmmc_ops = { > - .enable = omap_hsmmc_enable_fclk, > - .disable = omap_hsmmc_disable_fclk, > .post_req = omap_hsmmc_post_req, > .pre_req = omap_hsmmc_pre_req, > .request = omap_hsmmc_request, Finally, I think you have forgotten to deal with pm_runtime_get|put*() in omap_hsmmc_enable_sdio_irq(). Kind regards Uffe ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 1/2] mmc: omap_hsmmc: stop using .enable and .disable method. 2015-03-26 7:38 ` Ulf Hansson @ 2015-03-26 8:05 ` Ulf Hansson 0 siblings, 0 replies; 7+ messages in thread From: Ulf Hansson @ 2015-03-26 8:05 UTC (permalink / raw) To: NeilBrown Cc: NeilBrown, Tony Lindgren, Adrian Hunter, Chris Ball, linux-omap, linux-mmc, linux-kernel On 26 March 2015 at 08:38, Ulf Hansson <ulf.hansson@linaro.org> wrote: > On 26 March 2015 at 02:18, NeilBrown <neilb@suse.de> wrote: >> On Thu, 26 Mar 2015 08:43:37 +1100 NeilBrown <neil@brown.name> wrote: >> >>> enable and disable are only used to get and put >>> runtime pm references. .set_ios already does this >>> itself, and other drivers just do it in set_ios >>> and .request without using enable/disable. >>> >>> So add pm_runtime get/put to omap_hsmmc_request(), >>> and discard the enable/disable methods. >>> >>> Signed-off-by: NeilBrown <neil@brown.name> >> >> Sorry, that patch wasn't much good. This one I have really tested properly >> and checked that the 'put' match the 'get's and that the device to regularly >> go to sleep as expected. >> >> NeilBrown >> >> >> From: NeilBrown <neil@brown.name> >> Date: Thu, 26 Mar 2015 08:28:43 +1100 >> Subject: [PATCH] mmc: omap_hsmmc: stop using .enable and .disable method. >> >> enable and disable are only used to get and put >> runtime pm references. .set_ios already does this >> itself, and other drivers just do it in set_ios >> and .request without using enable/disable. >> >> So add pm_runtime get/put to omap_hsmmc_request(), >> and discard the enable/disable methods. >> >> Signed-off-by: NeilBrown <neil@brown.name> >> >> diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c >> index f84cfb01716d..2cb81538a612 100644 >> --- a/drivers/mmc/host/omap_hsmmc.c >> +++ b/drivers/mmc/host/omap_hsmmc.c >> @@ -882,6 +882,8 @@ static void omap_hsmmc_request_done(struct omap_hsmmc_host *host, struct mmc_req >> return; >> host->mrq = NULL; >> mmc_request_done(host->mmc, mrq); >> + pm_runtime_mark_last_busy(host->dev); >> + pm_runtime_put_autosuspend(host->dev); >> } > > How about adding a function like this: > > _omap_hsmmc_request_done(struct omap_hsmmc_host *host, struct mmc_req) > { > mmc_request_done(host->mmc, mrq); > pm_runtime_mark_last_busy(host->dev); > pm_runtime_put_autosuspend(host->dev); > } > > Then just invoke it from those places were needed? > >> >> /* >> @@ -1305,6 +1307,8 @@ static void omap_hsmmc_dma_callback(void *param) >> >> host->mrq = NULL; >> mmc_request_done(host->mmc, mrq); >> + pm_runtime_mark_last_busy(host->dev); >> + pm_runtime_put_autosuspend(host->dev); >> } >> } >> >> @@ -1537,6 +1541,7 @@ static void omap_hsmmc_request(struct mmc_host *mmc, struct mmc_request *req) >> >> BUG_ON(host->req_in_progress); >> BUG_ON(host->dma_ch != -1); >> + pm_runtime_get_sync(host->dev); >> if (host->protect_card) { >> if (host->reqs_blocked < 3) { >> /* >> @@ -1553,6 +1558,8 @@ static void omap_hsmmc_request(struct mmc_host *mmc, struct mmc_request *req) >> req->data->error = -EBADF; >> req->cmd->retries = 0; >> mmc_request_done(mmc, req); >> + pm_runtime_mark_last_busy(host->dev); >> + pm_runtime_put_autosuspend(host->dev); >> return; >> } else if (host->reqs_blocked) >> host->reqs_blocked = 0; >> @@ -1566,6 +1573,8 @@ static void omap_hsmmc_request(struct mmc_host *mmc, struct mmc_request *req) >> req->data->error = err; >> host->mrq = NULL; >> mmc_request_done(mmc, req); >> + pm_runtime_mark_last_busy(host->dev); >> + pm_runtime_put_autosuspend(host->dev); >> return; >> } >> if (req->sbc && !(host->flags & AUTO_CMD23)) { >> @@ -1778,25 +1787,6 @@ static void omap_hsmmc_conf_bus_power(struct omap_hsmmc_host *host) >> set_sd_bus_power(host); >> } >> >> -static int omap_hsmmc_enable_fclk(struct mmc_host *mmc) >> -{ >> - struct omap_hsmmc_host *host = mmc_priv(mmc); >> - >> - pm_runtime_get_sync(host->dev); >> - >> - return 0; >> -} >> - >> -static int omap_hsmmc_disable_fclk(struct mmc_host *mmc) >> -{ >> - struct omap_hsmmc_host *host = mmc_priv(mmc); >> - >> - pm_runtime_mark_last_busy(host->dev); >> - pm_runtime_put_autosuspend(host->dev); >> - >> - return 0; >> -} >> - >> static int omap_hsmmc_multi_io_quirk(struct mmc_card *card, >> unsigned int direction, int blk_size) >> { >> @@ -1808,8 +1798,6 @@ static int omap_hsmmc_multi_io_quirk(struct mmc_card *card, >> } >> >> static struct mmc_host_ops omap_hsmmc_ops = { >> - .enable = omap_hsmmc_enable_fclk, >> - .disable = omap_hsmmc_disable_fclk, >> .post_req = omap_hsmmc_post_req, >> .pre_req = omap_hsmmc_pre_req, >> .request = omap_hsmmc_request, > > Finally, I think you have forgotten to deal with pm_runtime_get|put*() > in omap_hsmmc_enable_sdio_irq(). No, _me_ totally forgot that SDIO IRQ is a special case and from the above mentioned function we mustn't deal with runtime PM, since that function is executed in IRQ context. :-) Also, since omap's runtime PM ->suspend() callback disables regular SDIO IRQS and enables wakeups, this case is already covered. Please ignore my comment above and sorry for the noise. Kind regards Uffe ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 0/2] Remove mmc_host enable/disable methods. 2015-03-25 21:43 [PATCH 0/2] Remove mmc_host enable/disable methods NeilBrown 2015-03-25 21:43 ` [PATCH 2/2] mmc: remove " NeilBrown 2015-03-25 21:43 ` [PATCH 1/2] mmc: omap_hsmmc: stop using .enable and .disable method NeilBrown @ 2015-03-27 10:01 ` Ulf Hansson 2 siblings, 0 replies; 7+ messages in thread From: Ulf Hansson @ 2015-03-27 10:01 UTC (permalink / raw) To: NeilBrown Cc: Tony Lindgren, Adrian Hunter, Chris Ball, linux-omap, linux-mmc, linux-kernel On 25 March 2015 at 22:43, NeilBrown <neil@brown.name> wrote: > Only omap_hsmmc uses enable and disable, and this seems > to be largely for historical reasons and is no longer > necessary. > > I have tested these patches with an OMAP3 with an > uSD card on mmc0 and a wifi SDIO device on mmc1. > > NeilBrown > > > --- > > NeilBrown (2): > mmc: omap_hsmmc: stop using .enable and .disable method. > mmc: remove enable/disable methods. > > > drivers/mmc/core/core.c | 5 ----- > drivers/mmc/host/omap_hsmmc.c | 24 +++--------------------- > include/linux/mmc/host.h | 6 ------ > 3 files changed, 3 insertions(+), 32 deletions(-) > > -- Applied both patches (the later version of patch 1). Also I took the liberty to update the commit messages. If you care about my comments for patch1, let's deal with that as new separate "cleanup-patch". Thanks! Kind regards Uffe ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2015-03-27 10:01 UTC | newest] Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2015-03-25 21:43 [PATCH 0/2] Remove mmc_host enable/disable methods NeilBrown 2015-03-25 21:43 ` [PATCH 2/2] mmc: remove " NeilBrown 2015-03-25 21:43 ` [PATCH 1/2] mmc: omap_hsmmc: stop using .enable and .disable method NeilBrown 2015-03-26 1:18 ` NeilBrown 2015-03-26 7:38 ` Ulf Hansson 2015-03-26 8:05 ` Ulf Hansson 2015-03-27 10:01 ` [PATCH 0/2] Remove mmc_host enable/disable methods Ulf Hansson
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.