From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sakari Ailus Subject: [PATCH v3 19/23] v4l: fwnode: Print bus type Date: Thu, 13 Sep 2018 00:29:38 +0300 Message-ID: <20180912212942.19641-20-sakari.ailus@linux.intel.com> References: <20180912212942.19641-1-sakari.ailus@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180912212942.19641-1-sakari.ailus@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: linux-media@vger.kernel.org Cc: devicetree@vger.kernel.org, jacopo@jmondi.org, dri-devel@lists.freedesktop.org, slongerbeam@gmail.com, niklas.soderlund@ragnatech.se List-Id: devicetree@vger.kernel.org UHJpbnQgYnVzIHR5cGUgZWl0aGVyIGFzIHNldCBieSB0aGUgZHJpdmVyIG9yIGFzIHBhcnNlZCBm cm9tIHRoZSBidXMtdHlwZQpwcm9wZXJ0eSwgYXMgd2VsbCBhcyB0aGUgZ3Vlc3NlZCBWNEwyIG1l ZGlhIGJ1cyB0eXBlLgoKU2lnbmVkLW9mZi1ieTogU2FrYXJpIEFpbHVzIDxzYWthcmkuYWlsdXNA bGludXguaW50ZWwuY29tPgpUZXN0ZWQtYnk6IFN0ZXZlIExvbmdlcmJlYW0gPHN0ZXZlX2xvbmdl cmJlYW1AbWVudG9yLmNvbT4KLS0tCiBkcml2ZXJzL21lZGlhL3Y0bDItY29yZS92NGwyLWZ3bm9k ZS5jIHwgMzggKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDEgZmlsZSBjaGFu Z2VkLCAzOCBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS92NGwyLWNv cmUvdjRsMi1md25vZGUuYyBiL2RyaXZlcnMvbWVkaWEvdjRsMi1jb3JlL3Y0bDItZndub2RlLmMK aW5kZXggNGI1ODg0MTgwNzRhLi40OGZiOTA2NjBjNmIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbWVk aWEvdjRsMi1jb3JlL3Y0bDItZndub2RlLmMKKysrIGIvZHJpdmVycy9tZWRpYS92NGwyLWNvcmUv djRsMi1md25vZGUuYwpAQCAtOTksNiArOTksMzYgQEAgdjRsMl9md25vZGVfYnVzX3R5cGVfdG9f bWJ1cyhlbnVtIHY0bDJfZndub2RlX2J1c190eXBlIHR5cGUpCiAJcmV0dXJuIGNvbnYgPyBjb252 LT5tYnVzX3R5cGUgOiBWNEwyX01CVVNfVU5LTk9XTjsKIH0KIAorc3RhdGljIGNvbnN0IGNoYXIg KgordjRsMl9md25vZGVfYnVzX3R5cGVfdG9fc3RyaW5nKGVudW0gdjRsMl9md25vZGVfYnVzX3R5 cGUgdHlwZSkKK3sKKwljb25zdCBzdHJ1Y3QgdjRsMl9md25vZGVfYnVzX2NvbnYgKmNvbnYgPQor CQlnZXRfdjRsMl9md25vZGVfYnVzX2NvbnZfYnlfZndub2RlX2J1cyh0eXBlKTsKKworCXJldHVy biBjb252ID8gY29udi0+bmFtZSA6ICJub3QgZm91bmQiOworfQorCitzdGF0aWMgY29uc3Qgc3Ry dWN0IHY0bDJfZndub2RlX2J1c19jb252ICoKK2dldF92NGwyX2Z3bm9kZV9idXNfY29udl9ieV9t YnVzKGVudW0gdjRsMl9tYnVzX3R5cGUgdHlwZSkKK3sKKwl1bnNpZ25lZCBpbnQgaTsKKworCWZv ciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGJ1c3Nlcyk7IGkrKykKKwkJaWYgKGJ1c3Nlc1tpXS5t YnVzX3R5cGUgPT0gdHlwZSkKKwkJCXJldHVybiAmYnVzc2VzW2ldOworCisJcmV0dXJuIE5VTEw7 Cit9CisKK3N0YXRpYyBjb25zdCBjaGFyICoKK3Y0bDJfZndub2RlX21idXNfdHlwZV90b19zdHJp bmcoZW51bSB2NGwyX21idXNfdHlwZSB0eXBlKQoreworCWNvbnN0IHN0cnVjdCB2NGwyX2Z3bm9k ZV9idXNfY29udiAqY29udiA9CisJCWdldF92NGwyX2Z3bm9kZV9idXNfY29udl9ieV9tYnVzKHR5 cGUpOworCisJcmV0dXJuIGNvbnYgPyBjb252LT5uYW1lIDogIm5vdCBmb3VuZCI7Cit9CisKIHN0 YXRpYyBpbnQgdjRsMl9md25vZGVfZW5kcG9pbnRfcGFyc2VfY3NpMl9idXMoc3RydWN0IGZ3bm9k ZV9oYW5kbGUgKmZ3bm9kZSwKIAkJCQkJICAgICAgIHN0cnVjdCB2NGwyX2Z3bm9kZV9lbmRwb2lu dCAqdmVwLAogCQkJCQkgICAgICAgZW51bSB2NGwyX21idXNfdHlwZSBidXNfdHlwZSkKQEAgLTM5 OCw2ICs0MjgsMTAgQEAgc3RhdGljIGludCBfX3Y0bDJfZndub2RlX2VuZHBvaW50X3BhcnNlKHN0 cnVjdCBmd25vZGVfaGFuZGxlICpmd25vZGUsCiAJbWVtc2V0KCZ2ZXAtPmJhc2UsIDAsIHNpemVv Zih2ZXAtPmJhc2UpKTsKIAogCWZ3bm9kZV9wcm9wZXJ0eV9yZWFkX3UzMihmd25vZGUsICJidXMt dHlwZSIsICZidXNfdHlwZSk7CisJcHJfZGVidWcoImZ3bm9kZSB2aWRlbyBidXMgdHlwZSAlcyAo JXUpLCBtYnVzIHR5cGUgJXMgKCV1KVxuIiwKKwkJIHY0bDJfZndub2RlX2J1c190eXBlX3RvX3N0 cmluZyhidXNfdHlwZSksIGJ1c190eXBlLAorCQkgdjRsMl9md25vZGVfbWJ1c190eXBlX3RvX3N0 cmluZyh2ZXAtPmJ1c190eXBlKSwKKwkJIHZlcC0+YnVzX3R5cGUpOwogCiAJbWJ1c190eXBlID0g djRsMl9md25vZGVfYnVzX3R5cGVfdG9fbWJ1cyhidXNfdHlwZSk7CiAKQEAgLTQxMiw2ICs0NDYs MTAgQEAgc3RhdGljIGludCBfX3Y0bDJfZndub2RlX2VuZHBvaW50X3BhcnNlKHN0cnVjdCBmd25v ZGVfaGFuZGxlICpmd25vZGUsCiAJCQl2NGwyX2Z3bm9kZV9lbmRwb2ludF9wYXJzZV9wYXJhbGxl bF9idXMoCiAJCQkJZndub2RlLCB2ZXAsIFY0TDJfTUJVU19VTktOT1dOKTsKIAorCQlwcl9kZWJ1 ZygiYXNzdW1pbmcgbWVkaWEgYnVzIHR5cGUgJXMgKCV1KVxuIiwKKwkJCSB2NGwyX2Z3bm9kZV9t YnVzX3R5cGVfdG9fc3RyaW5nKHZlcC0+YnVzX3R5cGUpLAorCQkJIHZlcC0+YnVzX3R5cGUpOwor CiAJCWJyZWFrOwogCWNhc2UgVjRMMl9NQlVTX0NDUDI6CiAJY2FzZSBWNEwyX01CVVNfQ1NJMToK LS0gCjIuMTEuMAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVs Cg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from nblzone-211-213.nblnetworks.fi ([83.145.211.213]:40980 "EHLO hillosipuli.retiisi.org.uk" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1728270AbeIMCgL (ORCPT ); Wed, 12 Sep 2018 22:36:11 -0400 From: Sakari Ailus To: linux-media@vger.kernel.org Cc: devicetree@vger.kernel.org, slongerbeam@gmail.com, niklas.soderlund@ragnatech.se, jacopo@jmondi.org, p.zabel@pengutronix.de, dri-devel@lists.freedesktop.org Subject: [PATCH v3 19/23] v4l: fwnode: Print bus type Date: Thu, 13 Sep 2018 00:29:38 +0300 Message-Id: <20180912212942.19641-20-sakari.ailus@linux.intel.com> In-Reply-To: <20180912212942.19641-1-sakari.ailus@linux.intel.com> References: <20180912212942.19641-1-sakari.ailus@linux.intel.com> Sender: linux-media-owner@vger.kernel.org List-ID: Print bus type either as set by the driver or as parsed from the bus-type property, as well as the guessed V4L2 media bus type. Signed-off-by: Sakari Ailus Tested-by: Steve Longerbeam --- drivers/media/v4l2-core/v4l2-fwnode.c | 38 +++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/drivers/media/v4l2-core/v4l2-fwnode.c b/drivers/media/v4l2-core/v4l2-fwnode.c index 4b588418074a..48fb90660c6b 100644 --- a/drivers/media/v4l2-core/v4l2-fwnode.c +++ b/drivers/media/v4l2-core/v4l2-fwnode.c @@ -99,6 +99,36 @@ v4l2_fwnode_bus_type_to_mbus(enum v4l2_fwnode_bus_type type) return conv ? conv->mbus_type : V4L2_MBUS_UNKNOWN; } +static const char * +v4l2_fwnode_bus_type_to_string(enum v4l2_fwnode_bus_type type) +{ + const struct v4l2_fwnode_bus_conv *conv = + get_v4l2_fwnode_bus_conv_by_fwnode_bus(type); + + return conv ? conv->name : "not found"; +} + +static const struct v4l2_fwnode_bus_conv * +get_v4l2_fwnode_bus_conv_by_mbus(enum v4l2_mbus_type type) +{ + unsigned int i; + + for (i = 0; i < ARRAY_SIZE(busses); i++) + if (busses[i].mbus_type == type) + return &busses[i]; + + return NULL; +} + +static const char * +v4l2_fwnode_mbus_type_to_string(enum v4l2_mbus_type type) +{ + const struct v4l2_fwnode_bus_conv *conv = + get_v4l2_fwnode_bus_conv_by_mbus(type); + + return conv ? conv->name : "not found"; +} + static int v4l2_fwnode_endpoint_parse_csi2_bus(struct fwnode_handle *fwnode, struct v4l2_fwnode_endpoint *vep, enum v4l2_mbus_type bus_type) @@ -398,6 +428,10 @@ static int __v4l2_fwnode_endpoint_parse(struct fwnode_handle *fwnode, memset(&vep->base, 0, sizeof(vep->base)); fwnode_property_read_u32(fwnode, "bus-type", &bus_type); + pr_debug("fwnode video bus type %s (%u), mbus type %s (%u)\n", + v4l2_fwnode_bus_type_to_string(bus_type), bus_type, + v4l2_fwnode_mbus_type_to_string(vep->bus_type), + vep->bus_type); mbus_type = v4l2_fwnode_bus_type_to_mbus(bus_type); @@ -412,6 +446,10 @@ static int __v4l2_fwnode_endpoint_parse(struct fwnode_handle *fwnode, v4l2_fwnode_endpoint_parse_parallel_bus( fwnode, vep, V4L2_MBUS_UNKNOWN); + pr_debug("assuming media bus type %s (%u)\n", + v4l2_fwnode_mbus_type_to_string(vep->bus_type), + vep->bus_type); + break; case V4L2_MBUS_CCP2: case V4L2_MBUS_CSI1: -- 2.11.0