Wed Jul 24 02:57:23 2013 UTC ()
Ifdef out Linux i2c stuff in drm_edid.c, to be rewritten.


(riastradh)
diff -r1.1.1.1.2.4 -r1.1.1.1.2.5 src/sys/external/bsd/drm2/dist/drm/drm_edid.c

cvs diff -r1.1.1.1.2.4 -r1.1.1.1.2.5 src/sys/external/bsd/drm2/dist/drm/drm_edid.c (expand / switch to unified diff)

--- src/sys/external/bsd/drm2/dist/drm/drm_edid.c 2013/07/24 02:57:08 1.1.1.1.2.4
+++ src/sys/external/bsd/drm2/dist/drm/drm_edid.c 2013/07/24 02:57:23 1.1.1.1.2.5
@@ -247,26 +247,28 @@ bool drm_edid_is_valid(struct edid *edid @@ -247,26 +247,28 @@ bool drm_edid_is_valid(struct edid *edid
247 u8 *raw = (u8 *)edid; 247 u8 *raw = (u8 *)edid;
248 248
249 if (!edid) 249 if (!edid)
250 return false; 250 return false;
251 251
252 for (i = 0; i <= edid->extensions; i++) 252 for (i = 0; i <= edid->extensions; i++)
253 if (!drm_edid_block_valid(raw + i * EDID_LENGTH, i, true)) 253 if (!drm_edid_block_valid(raw + i * EDID_LENGTH, i, true))
254 return false; 254 return false;
255 255
256 return true; 256 return true;
257} 257}
258EXPORT_SYMBOL(drm_edid_is_valid); 258EXPORT_SYMBOL(drm_edid_is_valid);
259 259
 260#ifndef __NetBSD__ /* XXX i2c */
 261
260#define DDC_SEGMENT_ADDR 0x30 262#define DDC_SEGMENT_ADDR 0x30
261/** 263/**
262 * Get EDID information via I2C. 264 * Get EDID information via I2C.
263 * 265 *
264 * \param adapter : i2c device adaptor 266 * \param adapter : i2c device adaptor
265 * \param buf : EDID data buffer to be filled 267 * \param buf : EDID data buffer to be filled
266 * \param len : EDID data buffer length 268 * \param len : EDID data buffer length
267 * \return 0 on success or -1 on failure. 269 * \return 0 on success or -1 on failure.
268 * 270 *
269 * Try to fetch EDID information by calling i2c driver function. 271 * Try to fetch EDID information by calling i2c driver function.
270 */ 272 */
271static int 273static int
272drm_do_probe_ddc_edid(struct i2c_adapter *adapter, unsigned char *buf, 274drm_do_probe_ddc_edid(struct i2c_adapter *adapter, unsigned char *buf,
@@ -427,26 +429,28 @@ EXPORT_SYMBOL(drm_probe_ddc); @@ -427,26 +429,28 @@ EXPORT_SYMBOL(drm_probe_ddc);
427 */ 429 */
428struct edid *drm_get_edid(struct drm_connector *connector, 430struct edid *drm_get_edid(struct drm_connector *connector,
429 struct i2c_adapter *adapter) 431 struct i2c_adapter *adapter)
430{ 432{
431 struct edid *edid = NULL; 433 struct edid *edid = NULL;
432 434
433 if (drm_probe_ddc(adapter)) 435 if (drm_probe_ddc(adapter))
434 edid = (struct edid *)drm_do_get_edid(connector, adapter); 436 edid = (struct edid *)drm_do_get_edid(connector, adapter);
435 437
436 return edid; 438 return edid;
437} 439}
438EXPORT_SYMBOL(drm_get_edid); 440EXPORT_SYMBOL(drm_get_edid);
439 441
 442#endif /* !defined(__NetBSD__) */
 443
440/*** EDID parsing ***/ 444/*** EDID parsing ***/
441 445
442/** 446/**
443 * edid_vendor - match a string against EDID's obfuscated vendor field 447 * edid_vendor - match a string against EDID's obfuscated vendor field
444 * @edid: EDID to match 448 * @edid: EDID to match
445 * @vendor: vendor string 449 * @vendor: vendor string
446 * 450 *
447 * Returns true if @vendor is in @edid, false otherwise 451 * Returns true if @vendor is in @edid, false otherwise
448 */ 452 */
449static bool edid_vendor(struct edid *edid, char *vendor) 453static bool edid_vendor(struct edid *edid, char *vendor)
450{ 454{
451 char edid_vendor[3]; 455 char edid_vendor[3];
452 456