From mboxrd@z Thu Jan 1 00:00:00 1970 From: david@lechnology.com (David Lechner) Date: Thu, 3 Aug 2017 17:33:45 -0500 Subject: [PATCH v3 1/6] drm/tinydrm: remove call to mipi_dbi_init() from mipi_dbi_spi_init() In-Reply-To: <1501799630-1650-1-git-send-email-david@lechnology.com> References: <1501799630-1650-1-git-send-email-david@lechnology.com> Message-ID: <1501799630-1650-2-git-send-email-david@lechnology.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org This removes the call to mipi_dbi_init() from mipi_dbi_spi_init() so that drivers can have a driver-specific implementation if needed. Suggested-by: Noralf Tr?nnes Signed-off-by: David Lechner Reviewed-by: Noralf Tr?nnes --- drivers/gpu/drm/tinydrm/mi0283qt.c | 8 ++++++-- drivers/gpu/drm/tinydrm/mipi-dbi.c | 17 +++++------------ include/drm/tinydrm/mipi-dbi.h | 6 +----- 3 files changed, 12 insertions(+), 19 deletions(-) diff --git a/drivers/gpu/drm/tinydrm/mi0283qt.c b/drivers/gpu/drm/tinydrm/mi0283qt.c index 482ff1c3..7e5bb7d 100644 --- a/drivers/gpu/drm/tinydrm/mi0283qt.c +++ b/drivers/gpu/drm/tinydrm/mi0283qt.c @@ -195,8 +195,12 @@ static int mi0283qt_probe(struct spi_device *spi) device_property_read_u32(dev, "rotation", &rotation); - ret = mipi_dbi_spi_init(spi, mipi, dc, &mi0283qt_pipe_funcs, - &mi0283qt_driver, &mi0283qt_mode, rotation); + ret = mipi_dbi_spi_init(spi, mipi, dc); + if (ret) + return ret; + + ret = mipi_dbi_init(&spi->dev, mipi, &mi0283qt_pipe_funcs, + &mi0283qt_driver, &mi0283qt_mode, rotation); if (ret) return ret; diff --git a/drivers/gpu/drm/tinydrm/mipi-dbi.c b/drivers/gpu/drm/tinydrm/mipi-dbi.c index e10fa4b..cba9784 100644 --- a/drivers/gpu/drm/tinydrm/mipi-dbi.c +++ b/drivers/gpu/drm/tinydrm/mipi-dbi.c @@ -777,15 +777,12 @@ static int mipi_dbi_typec3_command(struct mipi_dbi *mipi, u8 cmd, /** * mipi_dbi_spi_init - Initialize MIPI DBI SPI interfaced controller * @spi: SPI device - * @dc: D/C gpio (optional) * @mipi: &mipi_dbi structure to initialize - * @pipe_funcs: Display pipe functions - * @driver: DRM driver - * @mode: Display mode - * @rotation: Initial rotation in degrees Counter Clock Wise + * @dc: D/C gpio (optional) * * This function sets &mipi_dbi->command, enables &mipi->read_commands for the - * usual read commands and initializes @mipi using mipi_dbi_init(). + * usual read commands. It should be followed by a call to mipi_dbi_init() or + * a driver-specific init. * * If @dc is set, a Type C Option 3 interface is assumed, if not * Type C Option 1. @@ -800,11 +797,7 @@ static int mipi_dbi_typec3_command(struct mipi_dbi *mipi, u8 cmd, * Zero on success, negative error code on failure. */ int mipi_dbi_spi_init(struct spi_device *spi, struct mipi_dbi *mipi, - struct gpio_desc *dc, - const struct drm_simple_display_pipe_funcs *pipe_funcs, - struct drm_driver *driver, - const struct drm_display_mode *mode, - unsigned int rotation) + struct gpio_desc *dc) { size_t tx_size = tinydrm_spi_max_transfer_size(spi, 0); struct device *dev = &spi->dev; @@ -850,7 +843,7 @@ int mipi_dbi_spi_init(struct spi_device *spi, struct mipi_dbi *mipi, return -ENOMEM; } - return mipi_dbi_init(dev, mipi, pipe_funcs, driver, mode, rotation); + return 0; } EXPORT_SYMBOL(mipi_dbi_spi_init); diff --git a/include/drm/tinydrm/mipi-dbi.h b/include/drm/tinydrm/mipi-dbi.h index d137b16..83346dd 100644 --- a/include/drm/tinydrm/mipi-dbi.h +++ b/include/drm/tinydrm/mipi-dbi.h @@ -62,11 +62,7 @@ mipi_dbi_from_tinydrm(struct tinydrm_device *tdev) } int mipi_dbi_spi_init(struct spi_device *spi, struct mipi_dbi *mipi, - struct gpio_desc *dc, - const struct drm_simple_display_pipe_funcs *pipe_funcs, - struct drm_driver *driver, - const struct drm_display_mode *mode, - unsigned int rotation); + struct gpio_desc *dc); int mipi_dbi_init(struct device *dev, struct mipi_dbi *mipi, const struct drm_simple_display_pipe_funcs *pipe_funcs, struct drm_driver *driver, -- 2.7.4 From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Lechner Subject: [PATCH v3 1/6] drm/tinydrm: remove call to mipi_dbi_init() from mipi_dbi_spi_init() Date: Thu, 3 Aug 2017 17:33:45 -0500 Message-ID: <1501799630-1650-2-git-send-email-david@lechnology.com> References: <1501799630-1650-1-git-send-email-david@lechnology.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1501799630-1650-1-git-send-email-david@lechnology.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org Cc: Mark Rutland , David Lechner , Kevin Hilman , Sekhar Nori , linux-kernel@vger.kernel.org, Rob Herring , linux-arm-kernel@lists.infradead.org List-Id: devicetree@vger.kernel.org VGhpcyByZW1vdmVzIHRoZSBjYWxsIHRvIG1pcGlfZGJpX2luaXQoKSBmcm9tIG1pcGlfZGJpX3Nw aV9pbml0KCkgc28gdGhhdApkcml2ZXJzIGNhbiBoYXZlIGEgZHJpdmVyLXNwZWNpZmljIGltcGxl bWVudGF0aW9uIGlmIG5lZWRlZC4KClN1Z2dlc3RlZC1ieTogTm9yYWxmIFRyw7hubmVzIDxub3Jh bGZAdHJvbm5lcy5vcmc+ClNpZ25lZC1vZmYtYnk6IERhdmlkIExlY2huZXIgPGRhdmlkQGxlY2hu b2xvZ3kuY29tPgpSZXZpZXdlZC1ieTogTm9yYWxmIFRyw7hubmVzIDxub3JhbGZAdHJvbm5lcy5v cmc+Ci0tLQogZHJpdmVycy9ncHUvZHJtL3Rpbnlkcm0vbWkwMjgzcXQuYyB8ICA4ICsrKysrKy0t CiBkcml2ZXJzL2dwdS9kcm0vdGlueWRybS9taXBpLWRiaS5jIHwgMTcgKysrKystLS0tLS0tLS0t LS0KIGluY2x1ZGUvZHJtL3Rpbnlkcm0vbWlwaS1kYmkuaCAgICAgfCAgNiArLS0tLS0KIDMgZmls ZXMgY2hhbmdlZCwgMTIgaW5zZXJ0aW9ucygrKSwgMTkgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL3Rpbnlkcm0vbWkwMjgzcXQuYyBiL2RyaXZlcnMvZ3B1L2RybS90 aW55ZHJtL21pMDI4M3F0LmMKaW5kZXggNDgyZmYxYzMuLjdlNWJiN2QgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS90aW55ZHJtL21pMDI4M3F0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3Rp bnlkcm0vbWkwMjgzcXQuYwpAQCAtMTk1LDggKzE5NSwxMiBAQCBzdGF0aWMgaW50IG1pMDI4M3F0 X3Byb2JlKHN0cnVjdCBzcGlfZGV2aWNlICpzcGkpCiAKIAlkZXZpY2VfcHJvcGVydHlfcmVhZF91 MzIoZGV2LCAicm90YXRpb24iLCAmcm90YXRpb24pOwogCi0JcmV0ID0gbWlwaV9kYmlfc3BpX2lu aXQoc3BpLCBtaXBpLCBkYywgJm1pMDI4M3F0X3BpcGVfZnVuY3MsCi0JCQkJJm1pMDI4M3F0X2Ry aXZlciwgJm1pMDI4M3F0X21vZGUsIHJvdGF0aW9uKTsKKwlyZXQgPSBtaXBpX2RiaV9zcGlfaW5p dChzcGksIG1pcGksIGRjKTsKKwlpZiAocmV0KQorCQlyZXR1cm4gcmV0OworCisJcmV0ID0gbWlw aV9kYmlfaW5pdCgmc3BpLT5kZXYsIG1pcGksICZtaTAyODNxdF9waXBlX2Z1bmNzLAorCQkJICAg ICZtaTAyODNxdF9kcml2ZXIsICZtaTAyODNxdF9tb2RlLCByb3RhdGlvbik7CiAJaWYgKHJldCkK IAkJcmV0dXJuIHJldDsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3Rpbnlkcm0vbWlw aS1kYmkuYyBiL2RyaXZlcnMvZ3B1L2RybS90aW55ZHJtL21pcGktZGJpLmMKaW5kZXggZTEwZmE0 Yi4uY2JhOTc4NCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3Rpbnlkcm0vbWlwaS1kYmku YworKysgYi9kcml2ZXJzL2dwdS9kcm0vdGlueWRybS9taXBpLWRiaS5jCkBAIC03NzcsMTUgKzc3 NywxMiBAQCBzdGF0aWMgaW50IG1pcGlfZGJpX3R5cGVjM19jb21tYW5kKHN0cnVjdCBtaXBpX2Ri aSAqbWlwaSwgdTggY21kLAogLyoqCiAgKiBtaXBpX2RiaV9zcGlfaW5pdCAtIEluaXRpYWxpemUg TUlQSSBEQkkgU1BJIGludGVyZmFjZWQgY29udHJvbGxlcgogICogQHNwaTogU1BJIGRldmljZQot ICogQGRjOiBEL0MgZ3BpbyAob3B0aW9uYWwpCiAgKiBAbWlwaTogJm1pcGlfZGJpIHN0cnVjdHVy ZSB0byBpbml0aWFsaXplCi0gKiBAcGlwZV9mdW5jczogRGlzcGxheSBwaXBlIGZ1bmN0aW9ucwot ICogQGRyaXZlcjogRFJNIGRyaXZlcgotICogQG1vZGU6IERpc3BsYXkgbW9kZQotICogQHJvdGF0 aW9uOiBJbml0aWFsIHJvdGF0aW9uIGluIGRlZ3JlZXMgQ291bnRlciBDbG9jayBXaXNlCisgKiBA ZGM6IEQvQyBncGlvIChvcHRpb25hbCkKICAqCiAgKiBUaGlzIGZ1bmN0aW9uIHNldHMgJm1pcGlf ZGJpLT5jb21tYW5kLCBlbmFibGVzICZtaXBpLT5yZWFkX2NvbW1hbmRzIGZvciB0aGUKLSAqIHVz dWFsIHJlYWQgY29tbWFuZHMgYW5kIGluaXRpYWxpemVzIEBtaXBpIHVzaW5nIG1pcGlfZGJpX2lu aXQoKS4KKyAqIHVzdWFsIHJlYWQgY29tbWFuZHMuIEl0IHNob3VsZCBiZSBmb2xsb3dlZCBieSBh IGNhbGwgdG8gbWlwaV9kYmlfaW5pdCgpIG9yCisgKiBhIGRyaXZlci1zcGVjaWZpYyBpbml0Lgog ICoKICAqIElmIEBkYyBpcyBzZXQsIGEgVHlwZSBDIE9wdGlvbiAzIGludGVyZmFjZSBpcyBhc3N1 bWVkLCBpZiBub3QKICAqIFR5cGUgQyBPcHRpb24gMS4KQEAgLTgwMCwxMSArNzk3LDcgQEAgc3Rh dGljIGludCBtaXBpX2RiaV90eXBlYzNfY29tbWFuZChzdHJ1Y3QgbWlwaV9kYmkgKm1pcGksIHU4 IGNtZCwKICAqIFplcm8gb24gc3VjY2VzcywgbmVnYXRpdmUgZXJyb3IgY29kZSBvbiBmYWlsdXJl LgogICovCiBpbnQgbWlwaV9kYmlfc3BpX2luaXQoc3RydWN0IHNwaV9kZXZpY2UgKnNwaSwgc3Ry dWN0IG1pcGlfZGJpICptaXBpLAotCQkgICAgICBzdHJ1Y3QgZ3Bpb19kZXNjICpkYywKLQkJICAg ICAgY29uc3Qgc3RydWN0IGRybV9zaW1wbGVfZGlzcGxheV9waXBlX2Z1bmNzICpwaXBlX2Z1bmNz LAotCQkgICAgICBzdHJ1Y3QgZHJtX2RyaXZlciAqZHJpdmVyLAotCQkgICAgICBjb25zdCBzdHJ1 Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSwKLQkJICAgICAgdW5zaWduZWQgaW50IHJvdGF0aW9u KQorCQkgICAgICBzdHJ1Y3QgZ3Bpb19kZXNjICpkYykKIHsKIAlzaXplX3QgdHhfc2l6ZSA9IHRp bnlkcm1fc3BpX21heF90cmFuc2Zlcl9zaXplKHNwaSwgMCk7CiAJc3RydWN0IGRldmljZSAqZGV2 ID0gJnNwaS0+ZGV2OwpAQCAtODUwLDcgKzg0Myw3IEBAIGludCBtaXBpX2RiaV9zcGlfaW5pdChz dHJ1Y3Qgc3BpX2RldmljZSAqc3BpLCBzdHJ1Y3QgbWlwaV9kYmkgKm1pcGksCiAJCQlyZXR1cm4g LUVOT01FTTsKIAl9CiAKLQlyZXR1cm4gbWlwaV9kYmlfaW5pdChkZXYsIG1pcGksIHBpcGVfZnVu Y3MsIGRyaXZlciwgbW9kZSwgcm90YXRpb24pOworCXJldHVybiAwOwogfQogRVhQT1JUX1NZTUJP TChtaXBpX2RiaV9zcGlfaW5pdCk7CiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL3Rpbnlkcm0v bWlwaS1kYmkuaCBiL2luY2x1ZGUvZHJtL3Rpbnlkcm0vbWlwaS1kYmkuaAppbmRleCBkMTM3YjE2 Li44MzM0NmRkIDEwMDY0NAotLS0gYS9pbmNsdWRlL2RybS90aW55ZHJtL21pcGktZGJpLmgKKysr IGIvaW5jbHVkZS9kcm0vdGlueWRybS9taXBpLWRiaS5oCkBAIC02MiwxMSArNjIsNyBAQCBtaXBp X2RiaV9mcm9tX3Rpbnlkcm0oc3RydWN0IHRpbnlkcm1fZGV2aWNlICp0ZGV2KQogfQogCiBpbnQg bWlwaV9kYmlfc3BpX2luaXQoc3RydWN0IHNwaV9kZXZpY2UgKnNwaSwgc3RydWN0IG1pcGlfZGJp ICptaXBpLAotCQkgICAgICBzdHJ1Y3QgZ3Bpb19kZXNjICpkYywKLQkJICAgICAgY29uc3Qgc3Ry dWN0IGRybV9zaW1wbGVfZGlzcGxheV9waXBlX2Z1bmNzICpwaXBlX2Z1bmNzLAotCQkgICAgICBz dHJ1Y3QgZHJtX2RyaXZlciAqZHJpdmVyLAotCQkgICAgICBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3Bs YXlfbW9kZSAqbW9kZSwKLQkJICAgICAgdW5zaWduZWQgaW50IHJvdGF0aW9uKTsKKwkJICAgICAg c3RydWN0IGdwaW9fZGVzYyAqZGMpOwogaW50IG1pcGlfZGJpX2luaXQoc3RydWN0IGRldmljZSAq ZGV2LCBzdHJ1Y3QgbWlwaV9kYmkgKm1pcGksCiAJCSAgY29uc3Qgc3RydWN0IGRybV9zaW1wbGVf ZGlzcGxheV9waXBlX2Z1bmNzICpwaXBlX2Z1bmNzLAogCQkgIHN0cnVjdCBkcm1fZHJpdmVyICpk cml2ZXIsCi0tIAoyLjcuNAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJp LWRldmVsCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752192AbdHCWgG (ORCPT ); Thu, 3 Aug 2017 18:36:06 -0400 Received: from vern.gendns.com ([206.190.152.46]:46188 "EHLO vern.gendns.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751926AbdHCWeE (ORCPT ); Thu, 3 Aug 2017 18:34:04 -0400 From: David Lechner To: dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org Cc: David Lechner , =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= , Daniel Vetter , David Airlie , Rob Herring , Mark Rutland , Sekhar Nori , Kevin Hilman , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH v3 1/6] drm/tinydrm: remove call to mipi_dbi_init() from mipi_dbi_spi_init() Date: Thu, 3 Aug 2017 17:33:45 -0500 Message-Id: <1501799630-1650-2-git-send-email-david@lechnology.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1501799630-1650-1-git-send-email-david@lechnology.com> References: <1501799630-1650-1-git-send-email-david@lechnology.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - vern.gendns.com X-AntiAbuse: Original Domain - vger.kernel.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - lechnology.com X-Get-Message-Sender-Via: vern.gendns.com: authenticated_id: davidmain+lechnology.com/only user confirmed/virtual account not confirmed X-Authenticated-Sender: vern.gendns.com: davidmain@lechnology.com X-Source: X-Source-Args: X-Source-Dir: Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This removes the call to mipi_dbi_init() from mipi_dbi_spi_init() so that drivers can have a driver-specific implementation if needed. Suggested-by: Noralf Trønnes Signed-off-by: David Lechner Reviewed-by: Noralf Trønnes --- drivers/gpu/drm/tinydrm/mi0283qt.c | 8 ++++++-- drivers/gpu/drm/tinydrm/mipi-dbi.c | 17 +++++------------ include/drm/tinydrm/mipi-dbi.h | 6 +----- 3 files changed, 12 insertions(+), 19 deletions(-) diff --git a/drivers/gpu/drm/tinydrm/mi0283qt.c b/drivers/gpu/drm/tinydrm/mi0283qt.c index 482ff1c3..7e5bb7d 100644 --- a/drivers/gpu/drm/tinydrm/mi0283qt.c +++ b/drivers/gpu/drm/tinydrm/mi0283qt.c @@ -195,8 +195,12 @@ static int mi0283qt_probe(struct spi_device *spi) device_property_read_u32(dev, "rotation", &rotation); - ret = mipi_dbi_spi_init(spi, mipi, dc, &mi0283qt_pipe_funcs, - &mi0283qt_driver, &mi0283qt_mode, rotation); + ret = mipi_dbi_spi_init(spi, mipi, dc); + if (ret) + return ret; + + ret = mipi_dbi_init(&spi->dev, mipi, &mi0283qt_pipe_funcs, + &mi0283qt_driver, &mi0283qt_mode, rotation); if (ret) return ret; diff --git a/drivers/gpu/drm/tinydrm/mipi-dbi.c b/drivers/gpu/drm/tinydrm/mipi-dbi.c index e10fa4b..cba9784 100644 --- a/drivers/gpu/drm/tinydrm/mipi-dbi.c +++ b/drivers/gpu/drm/tinydrm/mipi-dbi.c @@ -777,15 +777,12 @@ static int mipi_dbi_typec3_command(struct mipi_dbi *mipi, u8 cmd, /** * mipi_dbi_spi_init - Initialize MIPI DBI SPI interfaced controller * @spi: SPI device - * @dc: D/C gpio (optional) * @mipi: &mipi_dbi structure to initialize - * @pipe_funcs: Display pipe functions - * @driver: DRM driver - * @mode: Display mode - * @rotation: Initial rotation in degrees Counter Clock Wise + * @dc: D/C gpio (optional) * * This function sets &mipi_dbi->command, enables &mipi->read_commands for the - * usual read commands and initializes @mipi using mipi_dbi_init(). + * usual read commands. It should be followed by a call to mipi_dbi_init() or + * a driver-specific init. * * If @dc is set, a Type C Option 3 interface is assumed, if not * Type C Option 1. @@ -800,11 +797,7 @@ static int mipi_dbi_typec3_command(struct mipi_dbi *mipi, u8 cmd, * Zero on success, negative error code on failure. */ int mipi_dbi_spi_init(struct spi_device *spi, struct mipi_dbi *mipi, - struct gpio_desc *dc, - const struct drm_simple_display_pipe_funcs *pipe_funcs, - struct drm_driver *driver, - const struct drm_display_mode *mode, - unsigned int rotation) + struct gpio_desc *dc) { size_t tx_size = tinydrm_spi_max_transfer_size(spi, 0); struct device *dev = &spi->dev; @@ -850,7 +843,7 @@ int mipi_dbi_spi_init(struct spi_device *spi, struct mipi_dbi *mipi, return -ENOMEM; } - return mipi_dbi_init(dev, mipi, pipe_funcs, driver, mode, rotation); + return 0; } EXPORT_SYMBOL(mipi_dbi_spi_init); diff --git a/include/drm/tinydrm/mipi-dbi.h b/include/drm/tinydrm/mipi-dbi.h index d137b16..83346dd 100644 --- a/include/drm/tinydrm/mipi-dbi.h +++ b/include/drm/tinydrm/mipi-dbi.h @@ -62,11 +62,7 @@ mipi_dbi_from_tinydrm(struct tinydrm_device *tdev) } int mipi_dbi_spi_init(struct spi_device *spi, struct mipi_dbi *mipi, - struct gpio_desc *dc, - const struct drm_simple_display_pipe_funcs *pipe_funcs, - struct drm_driver *driver, - const struct drm_display_mode *mode, - unsigned int rotation); + struct gpio_desc *dc); int mipi_dbi_init(struct device *dev, struct mipi_dbi *mipi, const struct drm_simple_display_pipe_funcs *pipe_funcs, struct drm_driver *driver, -- 2.7.4