[<prev] [next>] [day] [month] [year] [list]
Message-ID: <20141203134355.6fd6e3b7@canb.auug.org.au>
Date: Wed, 3 Dec 2014 13:43:55 +1100
From: Stephen Rothwell <sfr@...b.auug.org.au>
To: Daniel Vetter <daniel.vetter@...ll.ch>,
<intel-gfx@...ts.freedesktop.org>,
<dri-devel@...ts.freedesktop.org>, Dave Airlie <airlied@...ux.ie>
Cc: linux-next@...r.kernel.org, linux-kernel@...r.kernel.org,
Stefan BrĂ¼ns <stefan.bruens@...h-aachen.de>,
Lars-Peter Clausen <lars@...afoo.de>,
Laurent Pinchart <laurent.pinchart+renesas@...asonboard.com>
Subject: linux-next: manual merge of the drm-misc tree with the drm tree
Hi all,
Today's linux-next merge of the drm-misc tree got a conflict in
drivers/gpu/drm/drm_edid.c between commit 18df89fef2d5 ("drm: Decouple
EDID parsing from I2C adapter") from the drm tree and commit
d6885d659037 ("drm/edid: move drm_edid_is_zero to top, make edid
argument const") from the drm-misc tree.
I fixed it up (see below) and can carry the fix as necessary (no action
is required).
--
Cheers,
Stephen Rothwell sfr@...b.auug.org.au
diff --cc drivers/gpu/drm/drm_edid.c
index a7b5a71856a7,2c1d2e49fb6f..000000000000
--- a/drivers/gpu/drm/drm_edid.c
+++ b/drivers/gpu/drm/drm_edid.c
@@@ -1176,34 -1196,8 +1196,26 @@@ drm_do_probe_ddc_edid(void *data, u8 *b
return ret == xfers ? 0 : -1;
}
- static bool drm_edid_is_zero(u8 *in_edid, int length)
- {
- if (memchr_inv(in_edid, 0, length))
- return false;
-
- return true;
- }
-
-static u8 *
-drm_do_get_edid(struct drm_connector *connector, struct i2c_adapter *adapter)
+/**
+ * drm_do_get_edid - get EDID data using a custom EDID block read function
+ * @connector: connector we're probing
+ * @get_edid_block: EDID block read function
+ * @data: private data passed to the block read function
+ *
+ * When the I2C adapter connected to the DDC bus is hidden behind a device that
+ * exposes a different interface to read EDID blocks this function can be used
+ * to get EDID data using a custom block read function.
+ *
+ * As in the general case the DDC bus is accessible by the kernel at the I2C
+ * level, drivers must make all reasonable efforts to expose it as an I2C
+ * adapter and use drm_get_edid() instead of abusing this function.
+ *
+ * Return: Pointer to valid EDID or NULL if we couldn't find any.
+ */
+struct edid *drm_do_get_edid(struct drm_connector *connector,
+ int (*get_edid_block)(void *data, u8 *buf, unsigned int block,
+ size_t len),
+ void *data)
{
int i, j = 0, valid_extensions = 0;
u8 *block, *new;
Content of type "application/pgp-signature" skipped
Powered by blists - more mailing lists