// SPDX-License-Identifier: GPL-2.0-only /* * Copyright © 2006-2007 Intel Corporation * * Authors: * Eric Anholt <[email protected]> */ #include <linux/delay.h> #include <linux/export.h> #include <linux/i2c-algo-bit.h> #include <linux/i2c.h> #include "psb_drv.h" #include "psb_intel_reg.h" /* * Intel GPIO access functions */ #define I2C_RISEFALL_TIME … static int get_clock(void *data) { … } static int get_data(void *data) { … } static void set_clock(void *data, int state_high) { … } static void set_data(void *data, int state_high) { … } /** * gma_i2c_create - instantiate an Intel i2c bus using the specified GPIO reg * @dev: DRM device * @reg: GPIO reg to use * @name: name for this bus * * Creates and registers a new i2c bus with the Linux i2c layer, for use * in output probing and control (e.g. DDC or SDVO control functions). * * Possible values for @reg include: * %GPIOA * %GPIOB * %GPIOC * %GPIOD * %GPIOE * %GPIOF * %GPIOG * %GPIOH * see PRM for details on how these different busses are used. */ struct gma_i2c_chan *gma_i2c_create(struct drm_device *dev, const u32 reg, const char *name) { … } /** * gma_i2c_destroy - unregister and free i2c bus resources * @chan: channel to free * * Unregister the adapter from the i2c layer, then free the structure. */ void gma_i2c_destroy(struct gma_i2c_chan *chan) { … }