diff options
author | 2017-07-14 11:18:04 +0000 | |
---|---|---|
committer | 2017-07-14 11:18:04 +0000 | |
commit | 7bf64a6a0594fea1ef2d89ca74b6e5108495fcf5 (patch) | |
tree | af4272ff1cacb8f5693979c7c7b146e897d2433e | |
parent | Add regression tests for ifstated. (diff) | |
download | wireguard-openbsd-7bf64a6a0594fea1ef2d89ca74b6e5108495fcf5.tar.xz wireguard-openbsd-7bf64a6a0594fea1ef2d89ca74b6e5108495fcf5.zip |
Add some more i2c glue to reduce the diffs to Linux.
-rw-r--r-- | sys/dev/pci/drm/drm_dp_helper.c | 6 | ||||
-rw-r--r-- | sys/dev/pci/drm/drm_dp_mst_topology.c | 4 | ||||
-rw-r--r-- | sys/dev/pci/drm/drm_linux.h | 99 | ||||
-rw-r--r-- | sys/dev/pci/drm/i915/intel_sdvo.c | 4 | ||||
-rw-r--r-- | sys/dev/pci/drm/radeon/atombios_i2c.c | 5 | ||||
-rw-r--r-- | sys/dev/pci/drm/radeon/radeon_i2c.c | 10 |
6 files changed, 56 insertions, 72 deletions
diff --git a/sys/dev/pci/drm/drm_dp_helper.c b/sys/dev/pci/drm/drm_dp_helper.c index 048a98645df..790bc4a194d 100644 --- a/sys/dev/pci/drm/drm_dp_helper.c +++ b/sys/dev/pci/drm/drm_dp_helper.c @@ -426,8 +426,6 @@ EXPORT_SYMBOL(drm_dp_link_configure); * I2C-over-AUX implementation */ -#ifdef notyet - static u32 drm_dp_i2c_functionality(struct i2c_adapter *adapter) { return I2C_FUNC_I2C | I2C_FUNC_SMBUS_EMUL | @@ -436,8 +434,6 @@ static u32 drm_dp_i2c_functionality(struct i2c_adapter *adapter) I2C_FUNC_10BIT_ADDR; } -#endif - static void drm_dp_i2c_msg_write_status_update(struct drm_dp_aux_msg *msg) { /* @@ -758,9 +754,7 @@ static int drm_dp_i2c_xfer(struct i2c_adapter *adapter, struct i2c_msg *msgs, } static const struct i2c_algorithm drm_dp_i2c_algo = { -#ifdef notyet .functionality = drm_dp_i2c_functionality, -#endif .master_xfer = drm_dp_i2c_xfer, }; diff --git a/sys/dev/pci/drm/drm_dp_mst_topology.c b/sys/dev/pci/drm/drm_dp_mst_topology.c index 93d7bca8dfa..361964eb13d 100644 --- a/sys/dev/pci/drm/drm_dp_mst_topology.c +++ b/sys/dev/pci/drm/drm_dp_mst_topology.c @@ -3030,7 +3030,6 @@ out: return ret; } -#ifdef notyet static u32 drm_dp_mst_i2c_functionality(struct i2c_adapter *adapter) { return I2C_FUNC_I2C | I2C_FUNC_SMBUS_EMUL | @@ -3038,12 +3037,9 @@ static u32 drm_dp_mst_i2c_functionality(struct i2c_adapter *adapter) I2C_FUNC_SMBUS_BLOCK_PROC_CALL | I2C_FUNC_10BIT_ADDR; } -#endif static const struct i2c_algorithm drm_dp_mst_i2c_algo = { -#ifdef notyet .functionality = drm_dp_mst_i2c_functionality, -#endif .master_xfer = drm_dp_mst_i2c_xfer, }; diff --git a/sys/dev/pci/drm/drm_linux.h b/sys/dev/pci/drm/drm_linux.h index 1d6c739b151..9eb4029e013 100644 --- a/sys/dev/pci/drm/drm_linux.h +++ b/sys/dev/pci/drm/drm_linux.h @@ -1,4 +1,4 @@ -/* $OpenBSD: drm_linux.h,v 1.55 2017/07/12 20:12:19 kettenis Exp $ */ +/* $OpenBSD: drm_linux.h,v 1.56 2017/07/14 11:18:04 kettenis Exp $ */ /* * Copyright (c) 2013, 2014, 2015 Mark Kettenis * @@ -50,51 +50,6 @@ #pragma clang diagnostic ignored "-Wunused-const-variable" #endif -struct i2c_algorithm; - -struct i2c_adapter { - struct i2c_controller ic; - - char name[48]; - const struct i2c_algorithm *algo; - void *algo_data; - int retries; - - void *data; -}; - -#define I2C_NAME_SIZE 20 - -struct i2c_msg { - uint16_t addr; - uint16_t flags; - uint16_t len; - uint8_t *buf; -}; - -#define I2C_M_RD 0x0001 -#define I2C_M_NOSTART 0x0002 - -struct i2c_algorithm { - int (*master_xfer)(struct i2c_adapter *, struct i2c_msg *, int); -}; - -int i2c_transfer(struct i2c_adapter *, struct i2c_msg *, int); -#define i2c_add_adapter(x) 0 -#define i2c_del_adapter(x) - -static inline void * -i2c_get_adapdata(struct i2c_adapter *adap) -{ - return adap->data; -} - -static inline void -i2c_set_adapdata(struct i2c_adapter *adap, void *data) -{ - adap->data = data; -} - typedef int irqreturn_t; enum irqreturn { IRQ_NONE = 0, @@ -1565,6 +1520,58 @@ vga_client_register(struct pci_dev *a, void *b, void *c, void *d) #endif +struct i2c_algorithm; + +#define I2C_FUNC_I2C 0 +#define I2C_FUNC_SMBUS_EMUL 0 +#define I2C_FUNC_SMBUS_READ_BLOCK_DATA 0 +#define I2C_FUNC_SMBUS_BLOCK_PROC_CALL 0 +#define I2C_FUNC_10BIT_ADDR 0 + +struct i2c_adapter { + struct i2c_controller ic; + + char name[48]; + const struct i2c_algorithm *algo; + void *algo_data; + int retries; + + void *data; +}; + +#define I2C_NAME_SIZE 20 + +struct i2c_msg { + uint16_t addr; + uint16_t flags; + uint16_t len; + uint8_t *buf; +}; + +#define I2C_M_RD 0x0001 +#define I2C_M_NOSTART 0x0002 + +struct i2c_algorithm { + u32 (*functionality)(struct i2c_adapter *); + int (*master_xfer)(struct i2c_adapter *, struct i2c_msg *, int); +}; + +int i2c_transfer(struct i2c_adapter *, struct i2c_msg *, int); +#define i2c_add_adapter(x) 0 +#define i2c_del_adapter(x) + +static inline void * +i2c_get_adapdata(struct i2c_adapter *adap) +{ + return adap->data; +} + +static inline void +i2c_set_adapdata(struct i2c_adapter *adap, void *data) +{ + adap->data = data; +} + #define memcpy_toio(d, s, n) memcpy(d, s, n) #define memcpy_fromio(d, s, n) memcpy(d, s, n) #define memset_io(d, b, n) memset(d, b, n) diff --git a/sys/dev/pci/drm/i915/intel_sdvo.c b/sys/dev/pci/drm/i915/intel_sdvo.c index 20ee6a03a0b..9f97064dff3 100644 --- a/sys/dev/pci/drm/i915/intel_sdvo.c +++ b/sys/dev/pci/drm/i915/intel_sdvo.c @@ -2920,19 +2920,15 @@ static int intel_sdvo_ddc_proxy_xfer(struct i2c_adapter *adapter, return sdvo->i2c->algo->master_xfer(sdvo->i2c, msgs, num); } -#ifdef notyet static u32 intel_sdvo_ddc_proxy_func(struct i2c_adapter *adapter) { struct intel_sdvo *sdvo = adapter->algo_data; return sdvo->i2c->algo->functionality(sdvo->i2c); } -#endif static const struct i2c_algorithm intel_sdvo_ddc_proxy = { .master_xfer = intel_sdvo_ddc_proxy_xfer, -#ifdef notyet .functionality = intel_sdvo_ddc_proxy_func -#endif }; static bool diff --git a/sys/dev/pci/drm/radeon/atombios_i2c.c b/sys/dev/pci/drm/radeon/atombios_i2c.c index 17abedfe0d5..ba234c2a9d2 100644 --- a/sys/dev/pci/drm/radeon/atombios_i2c.c +++ b/sys/dev/pci/drm/radeon/atombios_i2c.c @@ -1,4 +1,4 @@ -/* $OpenBSD: atombios_i2c.c,v 1.6 2017/07/01 16:14:10 kettenis Exp $ */ +/* $OpenBSD: atombios_i2c.c,v 1.7 2017/07/14 11:18:04 kettenis Exp $ */ /* * Copyright 2011 Advanced Micro Devices, Inc. * @@ -144,10 +144,7 @@ int radeon_atom_hw_i2c_xfer(struct i2c_adapter *i2c_adap, return num; } -#ifdef notyet u32 radeon_atom_hw_i2c_func(struct i2c_adapter *adap) { return I2C_FUNC_I2C | I2C_FUNC_SMBUS_EMUL; } -#endif - diff --git a/sys/dev/pci/drm/radeon/radeon_i2c.c b/sys/dev/pci/drm/radeon/radeon_i2c.c index 33a942b4ab4..68b3fb7c3bc 100644 --- a/sys/dev/pci/drm/radeon/radeon_i2c.c +++ b/sys/dev/pci/drm/radeon/radeon_i2c.c @@ -1,4 +1,4 @@ -/* $OpenBSD: radeon_i2c.c,v 1.6 2017/07/01 16:14:10 kettenis Exp $ */ +/* $OpenBSD: radeon_i2c.c,v 1.7 2017/07/14 11:18:04 kettenis Exp $ */ /* * Copyright 2007-8 Advanced Micro Devices, Inc. * Copyright 2008 Red Hat Inc. @@ -975,25 +975,19 @@ static int radeon_hw_i2c_xfer(struct i2c_adapter *i2c_adap, return ret; } -#ifdef notyet -static u32 radeon_hw_i2c_func(struct i2c_controller *adap) +static u32 radeon_hw_i2c_func(struct i2c_adapter *adap) { return I2C_FUNC_I2C | I2C_FUNC_SMBUS_EMUL; } -#endif static const struct i2c_algorithm radeon_i2c_algo = { .master_xfer = radeon_hw_i2c_xfer, -#ifdef notyet .functionality = radeon_hw_i2c_func, -#endif }; static const struct i2c_algorithm radeon_atom_i2c_algo = { .master_xfer = radeon_atom_hw_i2c_xfer, -#ifdef notyet .functionality = radeon_atom_hw_i2c_func, -#endif }; struct radeon_i2c_chan *radeon_i2c_create(struct drm_device *dev, |