From: kbuild test robot <lkp@intel.com>
To: Ramesh Shanmugasundaram <ramesh.shanmugasundaram@bp.renesas.com>
Cc: kbuild-all@01.org, robh+dt@kernel.org, mark.rutland@arm.com,
mchehab@kernel.org, hverkuil@xs4all.nl,
sakari.ailus@linux.intel.com, crope@iki.fi,
chris.paterson2@renesas.com, laurent.pinchart@ideasonboard.com,
geert+renesas@glider.be, linux-media@vger.kernel.org,
devicetree@vger.kernel.org, linux-renesas-soc@vger.kernel.org,
Ramesh Shanmugasundaram <ramesh.shanmugasundaram@bp.renesas.com>
Subject: Re: [PATCH v6 7/7] media: platform: rcar_drif: Add DRIF support
Date: Thu, 1 Jun 2017 12:47:17 +0800 [thread overview]
Message-ID: <201706011256.JBokH2nw%fengguang.wu@intel.com> (raw)
In-Reply-To: <20170531084457.4800-8-ramesh.shanmugasundaram@bp.renesas.com>
[-- Attachment #1: Type: text/plain, Size: 6443 bytes --]
Hi Ramesh,
[auto build test ERROR on linuxtv-media/master]
[also build test ERROR on v4.12-rc3 next-20170531]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
url: https://github.com/0day-ci/linux/commits/Ramesh-Shanmugasundaram/Add-V4L2-SDR-DRIF-MAX2175-driver/20170531-231937
base: git://linuxtv.org/media_tree.git master
config: arm64-allmodconfig (attached as .config)
compiler: aarch64-linux-gnu-gcc (Debian 6.1.1-9) 6.1.1 20160705
reproduce:
wget https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
make.cross ARCH=arm64
All errors (new ones prefixed by >>):
drivers/media//platform/rcar_drif.c: In function 'rcar_drif_notify_bound':
>> drivers/media//platform/rcar_drif.c:1110:23: error: 'union <anonymous>' has no member named 'fwnode'
if (sdr->ep.asd.match.fwnode.fwnode !=
^
drivers/media//platform/rcar_drif.c: In function 'rcar_drif_parse_subdevs':
drivers/media//platform/rcar_drif.c:1232:19: error: 'union <anonymous>' has no member named 'fwnode'
sdr->ep.asd.match.fwnode.fwnode = fwnode;
^
>> drivers/media//platform/rcar_drif.c:1233:27: error: 'V4L2_ASYNC_MATCH_FWNODE' undeclared (first use in this function)
sdr->ep.asd.match_type = V4L2_ASYNC_MATCH_FWNODE;
^~~~~~~~~~~~~~~~~~~~~~~
drivers/media//platform/rcar_drif.c:1233:27: note: each undeclared identifier is reported only once for each function it appears in
vim +/V4L2_ASYNC_MATCH_FWNODE +1233 drivers/media//platform/rcar_drif.c
1104 struct v4l2_subdev *subdev,
1105 struct v4l2_async_subdev *asd)
1106 {
1107 struct rcar_drif_sdr *sdr =
1108 container_of(notifier, struct rcar_drif_sdr, notifier);
1109
> 1110 if (sdr->ep.asd.match.fwnode.fwnode !=
1111 of_fwnode_handle(subdev->dev->of_node)) {
1112 rdrif_err(sdr, "subdev %s cannot bind\n", subdev->name);
1113 return -EINVAL;
1114 }
1115
1116 v4l2_set_subdev_hostdata(subdev, sdr);
1117 sdr->ep.subdev = subdev;
1118 rdrif_dbg(sdr, "bound asd %s\n", subdev->name);
1119
1120 return 0;
1121 }
1122
1123 /* Sub-device unbind callback */
1124 static void rcar_drif_notify_unbind(struct v4l2_async_notifier *notifier,
1125 struct v4l2_subdev *subdev,
1126 struct v4l2_async_subdev *asd)
1127 {
1128 struct rcar_drif_sdr *sdr =
1129 container_of(notifier, struct rcar_drif_sdr, notifier);
1130
1131 if (sdr->ep.subdev != subdev) {
1132 rdrif_err(sdr, "subdev %s is not bound\n", subdev->name);
1133 return;
1134 }
1135
1136 /* Free ctrl handler if initialized */
1137 v4l2_ctrl_handler_free(&sdr->ctrl_hdl);
1138 sdr->v4l2_dev.ctrl_handler = NULL;
1139 sdr->ep.subdev = NULL;
1140
1141 rcar_drif_sdr_unregister(sdr);
1142 rdrif_dbg(sdr, "unbind asd %s\n", subdev->name);
1143 }
1144
1145 /* Sub-device registered notification callback */
1146 static int rcar_drif_notify_complete(struct v4l2_async_notifier *notifier)
1147 {
1148 struct rcar_drif_sdr *sdr =
1149 container_of(notifier, struct rcar_drif_sdr, notifier);
1150 int ret;
1151
1152 /*
1153 * The subdev tested at this point uses 4 controls. Using 10 as a worst
1154 * case scenario hint. When less controls are needed there will be some
1155 * unused memory and when more controls are needed the framework uses
1156 * hash to manage controls within this number.
1157 */
1158 ret = v4l2_ctrl_handler_init(&sdr->ctrl_hdl, 10);
1159 if (ret)
1160 return -ENOMEM;
1161
1162 sdr->v4l2_dev.ctrl_handler = &sdr->ctrl_hdl;
1163 ret = v4l2_device_register_subdev_nodes(&sdr->v4l2_dev);
1164 if (ret) {
1165 rdrif_err(sdr, "failed: register subdev nodes ret %d\n", ret);
1166 goto error;
1167 }
1168
1169 ret = v4l2_ctrl_add_handler(&sdr->ctrl_hdl,
1170 sdr->ep.subdev->ctrl_handler, NULL);
1171 if (ret) {
1172 rdrif_err(sdr, "failed: ctrl add hdlr ret %d\n", ret);
1173 goto error;
1174 }
1175
1176 ret = rcar_drif_sdr_register(sdr);
1177 if (ret)
1178 goto error;
1179
1180 return ret;
1181
1182 error:
1183 v4l2_ctrl_handler_free(&sdr->ctrl_hdl);
1184
1185 return ret;
1186 }
1187
1188 /* Read endpoint properties */
1189 static void rcar_drif_get_ep_properties(struct rcar_drif_sdr *sdr,
1190 struct fwnode_handle *fwnode)
1191 {
1192 u32 val;
1193
1194 /* Set the I2S defaults for SIRMDR1*/
1195 sdr->mdr1 = RCAR_DRIF_SIRMDR1_SYNCMD_LR | RCAR_DRIF_SIRMDR1_MSB_FIRST |
1196 RCAR_DRIF_SIRMDR1_DTDL_1 | RCAR_DRIF_SIRMDR1_SYNCDL_0;
1197
1198 /* Parse sync polarity from endpoint */
1199 if (!fwnode_property_read_u32(fwnode, "sync-active", &val))
1200 sdr->mdr1 |= val ? RCAR_DRIF_SIRMDR1_SYNCAC_POL_HIGH :
1201 RCAR_DRIF_SIRMDR1_SYNCAC_POL_LOW;
1202 else
1203 sdr->mdr1 |= RCAR_DRIF_SIRMDR1_SYNCAC_POL_HIGH; /* default */
1204
1205 dev_dbg(sdr->dev, "mdr1 0x%08x\n", sdr->mdr1);
1206 }
1207
1208 /* Parse sub-devs (tuner) to find a matching device */
1209 static int rcar_drif_parse_subdevs(struct rcar_drif_sdr *sdr)
1210 {
1211 struct v4l2_async_notifier *notifier = &sdr->notifier;
1212 struct fwnode_handle *fwnode, *ep;
1213
1214 notifier->subdevs = devm_kzalloc(sdr->dev, sizeof(*notifier->subdevs),
1215 GFP_KERNEL);
1216 if (!notifier->subdevs)
1217 return -ENOMEM;
1218
1219 ep = fwnode_graph_get_next_endpoint(of_fwnode_handle(sdr->dev->of_node),
1220 NULL);
1221 if (!ep)
1222 return 0;
1223
1224 notifier->subdevs[notifier->num_subdevs] = &sdr->ep.asd;
1225 fwnode = fwnode_graph_get_remote_port_parent(ep);
1226 if (!fwnode) {
1227 dev_warn(sdr->dev, "bad remote port parent\n");
1228 fwnode_handle_put(ep);
1229 return -EINVAL;
1230 }
1231
1232 sdr->ep.asd.match.fwnode.fwnode = fwnode;
> 1233 sdr->ep.asd.match_type = V4L2_ASYNC_MATCH_FWNODE;
1234 notifier->num_subdevs++;
1235
1236 /* Get the endpoint properties */
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 55831 bytes --]
prev parent reply other threads:[~2017-06-01 4:47 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-05-31 8:44 [PATCH v6 0/7] Add V4L2 SDR (DRIF & MAX2175) driver Ramesh Shanmugasundaram
2017-05-31 8:44 ` [PATCH v6 1/7] media: v4l2-ctrls: Reserve controls for MAX217X Ramesh Shanmugasundaram
2017-05-31 8:44 ` [PATCH v6 2/7] dt-bindings: media: Add MAX2175 binding description Ramesh Shanmugasundaram
2017-05-31 8:44 ` [PATCH v6 3/7] media: i2c: max2175: Add MAX2175 support Ramesh Shanmugasundaram
2017-06-07 13:17 ` Mauro Carvalho Chehab
2017-06-08 9:42 ` Ramesh Shanmugasundaram
2017-06-08 10:23 ` Mauro Carvalho Chehab
2017-06-08 11:04 ` Ramesh Shanmugasundaram
2017-05-31 8:44 ` [PATCH v6 4/7] media: Add new SDR formats PC16, PC18 & PC20 Ramesh Shanmugasundaram
2017-05-31 8:44 ` [PATCH v6 5/7] doc_rst: media: New " Ramesh Shanmugasundaram
2017-05-31 8:44 ` [PATCH v6 6/7] dt-bindings: media: Add Renesas R-Car DRIF binding Ramesh Shanmugasundaram
2017-05-31 8:44 ` [PATCH v6 7/7] media: platform: rcar_drif: Add DRIF support Ramesh Shanmugasundaram
2017-06-01 4:47 ` kbuild test robot [this message]
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=201706011256.JBokH2nw%fengguang.wu@intel.com \
--to=lkp@intel.com \
--cc=chris.paterson2@renesas.com \
--cc=crope@iki.fi \
--cc=devicetree@vger.kernel.org \
--cc=geert+renesas@glider.be \
--cc=hverkuil@xs4all.nl \
--cc=kbuild-all@01.org \
--cc=laurent.pinchart@ideasonboard.com \
--cc=linux-media@vger.kernel.org \
--cc=linux-renesas-soc@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=mchehab@kernel.org \
--cc=ramesh.shanmugasundaram@bp.renesas.com \
--cc=robh+dt@kernel.org \
--cc=sakari.ailus@linux.intel.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