src: Get rid of device_t

Use of device_t is deprecated.

Change-Id: Ie05869901ac33d7089e21110f46c1241f7ee731f
Signed-off-by: Elyes HAOUAS <ehaouas@noos.fr>
Reviewed-on: https://review.coreboot.org/c/30047
Reviewed-by: Patrick Georgi <pgeorgi@google.com>
Reviewed-by: Patrick Rudolph <siro@das-labor.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
Elyes HAOUAS 2018-12-05 11:03:36 +01:00 committed by Kyösti Mälkki
parent 4139c15276
commit f9e47cc4c2
9 changed files with 65 additions and 40 deletions

View File

@ -21,9 +21,6 @@
typedef u32 pci_devfn_t; typedef u32 pci_devfn_t;
#ifdef __SIMPLE_DEVICE__ #ifdef __SIMPLE_DEVICE__
// FIXME: Use of device_t is deprecated
typedef pci_devfn_t device_t;
u8 pci_read_config8(pci_devfn_t dev, unsigned int where); u8 pci_read_config8(pci_devfn_t dev, unsigned int where);
u16 pci_read_config16(pci_devfn_t dev, unsigned int where); u16 pci_read_config16(pci_devfn_t dev, unsigned int where);
u32 pci_read_config32(pci_devfn_t dev, unsigned int where); u32 pci_read_config32(pci_devfn_t dev, unsigned int where);

View File

@ -21,9 +21,6 @@
typedef u32 pci_devfn_t; typedef u32 pci_devfn_t;
#ifdef __SIMPLE_DEVICE__ #ifdef __SIMPLE_DEVICE__
// FIXME: Use of device_t is deprecated
typedef pci_devfn_t device_t;
u8 pci_read_config8(pci_devfn_t dev, unsigned int where); u8 pci_read_config8(pci_devfn_t dev, unsigned int where);
u16 pci_read_config16(pci_devfn_t dev, unsigned int where); u16 pci_read_config16(pci_devfn_t dev, unsigned int where);
u32 pci_read_config32(pci_devfn_t dev, unsigned int where); u32 pci_read_config32(pci_devfn_t dev, unsigned int where);

View File

@ -21,9 +21,6 @@
typedef u32 pci_devfn_t; typedef u32 pci_devfn_t;
#ifdef __SIMPLE_DEVICE__ #ifdef __SIMPLE_DEVICE__
// FIXME: Use of device_t is deprecated
typedef pci_devfn_t device_t;
u8 pci_read_config8(pci_devfn_t dev, unsigned int where); u8 pci_read_config8(pci_devfn_t dev, unsigned int where);
u16 pci_read_config16(pci_devfn_t dev, unsigned int where); u16 pci_read_config16(pci_devfn_t dev, unsigned int where);
u32 pci_read_config32(pci_devfn_t dev, unsigned int where); u32 pci_read_config32(pci_devfn_t dev, unsigned int where);

View File

@ -18,8 +18,6 @@
#include <stdint.h> #include <stdint.h>
#include <rules.h> #include <rules.h>
/* FIXME: Sources for romstage still use device_t. */
/* Use pci_devfn_t or pnp_devfn_t instead */
typedef u32 pci_devfn_t; typedef u32 pci_devfn_t;
typedef u32 pnp_devfn_t; typedef u32 pnp_devfn_t;
@ -256,10 +254,6 @@ static inline int __ffs(u32 value)
#define PNP_DEV(PORT, FUNC) (((PORT) << 8) | (FUNC)) #define PNP_DEV(PORT, FUNC) (((PORT) << 8) | (FUNC))
/* FIXME: Sources for romstage still use device_t. */
/* Use pci_devfn_t or pnp_devfn_t instead */
typedef u32 device_t;
/* FIXME: We need to make the coreboot to run at 64bit mode, So when read/write /* FIXME: We need to make the coreboot to run at 64bit mode, So when read/write
* memory above 4G, We don't need to set %fs, and %gs anymore * memory above 4G, We don't need to set %fs, and %gs anymore
* Before that We need to use %gs, and leave %fs to other RAM access * Before that We need to use %gs, and leave %fs to other RAM access

View File

@ -14,14 +14,9 @@
#include <rules.h> #include <rules.h>
#include <device/resource.h> #include <device/resource.h>
#include <device/path.h> #include <device/path.h>
struct device;
#ifndef __SIMPLE_DEVICE__
typedef struct device *device_t;
#endif
#include <arch/io.h> #include <arch/io.h>
struct device;
struct pci_operations; struct pci_operations;
struct pci_bus_operations; struct pci_bus_operations;
struct i2c_bus_operations; struct i2c_bus_operations;

View File

@ -15,33 +15,49 @@ void pci_write_config32(struct device *dev, unsigned int where, u32 val);
#endif #endif
/* #ifdef __SIMPLE_DEVICE__
* Use device_t here as the functions are to be used with either
* __SIMPLE_DEVICE__ defined or undefined.
*/
static __always_inline static __always_inline
void pci_or_config8(device_t dev, unsigned int where, u8 ormask) void pci_or_config8(pci_devfn_t dev, unsigned int where, u8 ormask)
#else
static __always_inline
void pci_or_config8(struct device *dev, unsigned int where, u8 ormask)
#endif
{ {
u8 value = pci_read_config8(dev, where); u8 value = pci_read_config8(dev, where);
pci_write_config8(dev, where, value | ormask); pci_write_config8(dev, where, value | ormask);
} }
#ifdef __SIMPLE_DEVICE__
static __always_inline static __always_inline
void pci_or_config16(device_t dev, unsigned int where, u16 ormask) void pci_or_config16(pci_devfn_t dev, unsigned int where, u16 ormask)
#else
static __always_inline
void pci_or_config16(struct device *dev, unsigned int where, u16 ormask)
#endif
{ {
u16 value = pci_read_config16(dev, where); u16 value = pci_read_config16(dev, where);
pci_write_config16(dev, where, value | ormask); pci_write_config16(dev, where, value | ormask);
} }
#ifdef __SIMPLE_DEVICE__
static __always_inline static __always_inline
void pci_or_config32(device_t dev, unsigned int where, u32 ormask) void pci_or_config32(pci_devfn_t dev, unsigned int where, u32 ormask)
#else
static __always_inline
void pci_or_config32(struct device *dev, unsigned int where, u32 ormask)
#endif
{ {
u32 value = pci_read_config32(dev, where); u32 value = pci_read_config32(dev, where);
pci_write_config32(dev, where, value | ormask); pci_write_config32(dev, where, value | ormask);
} }
#ifdef __SIMPLE_DEVICE__
static __always_inline static __always_inline
void pci_update_config8(device_t dev, int reg, u8 mask, u8 or) void pci_update_config8(pci_devfn_t dev, int reg, u8 mask, u8 or)
#else
static __always_inline
void pci_update_config8(struct device *dev, int reg, u8 mask, u8 or)
#endif
{ {
u8 reg8; u8 reg8;
@ -51,8 +67,13 @@ void pci_update_config8(device_t dev, int reg, u8 mask, u8 or)
pci_write_config8(dev, reg, reg8); pci_write_config8(dev, reg, reg8);
} }
#ifdef __SIMPLE_DEVICE__
static __always_inline static __always_inline
void pci_update_config16(device_t dev, int reg, u16 mask, u16 or) void pci_update_config16(pci_devfn_t dev, int reg, u16 mask, u16 or)
#else
static __always_inline
void pci_update_config16(struct device *dev, int reg, u16 mask, u16 or)
#endif
{ {
u16 reg16; u16 reg16;
@ -62,8 +83,13 @@ void pci_update_config16(device_t dev, int reg, u16 mask, u16 or)
pci_write_config16(dev, reg, reg16); pci_write_config16(dev, reg, reg16);
} }
#ifdef __SIMPLE_DEVICE__
static __always_inline static __always_inline
void pci_update_config32(device_t dev, int reg, u32 mask, u32 or) void pci_update_config32(pci_devfn_t dev, int reg, u32 mask, u32 or)
#else
static __always_inline
void pci_update_config32(struct device *dev, int reg, u32 mask, u32 or)
#endif
{ {
u32 reg32; u32 reg32;

View File

@ -51,8 +51,8 @@ static inline int smbus_write_byte(struct device *const dev, u8 addr, u8 val)
return i2c_dev_writeb_at(dev, addr, val); return i2c_dev_writeb_at(dev, addr, val);
} }
int smbus_block_read(device_t dev, u8 cmd, u8 bytes, u8 *buffer); int smbus_block_read(struct device *dev, u8 cmd, u8 bytes, u8 *buffer);
int smbus_block_write(device_t dev, u8 cmd, u8 bytes, const u8 *buffer); int smbus_block_write(struct device *dev, u8 cmd, u8 bytes, const u8 *buffer);
#if IS_ENABLED(CONFIG_SMBUS_HAS_AUX_CHANNELS) #if IS_ENABLED(CONFIG_SMBUS_HAS_AUX_CHANNELS)
void smbus_switch_to_channel(uint8_t channel_number); void smbus_switch_to_channel(uint8_t channel_number);

View File

@ -30,8 +30,6 @@
* are employed: * are employed:
* - Chaining of tables that allow runtime tables to chain to compile-time * - Chaining of tables that allow runtime tables to chain to compile-time
* tables. * tables.
* - Notion of current device (device_t) being worked on. This allows for
* PCI config, io, and mmio on a particular device's resources.
* *
* Note that when using REG_SCRIPT_COMMAND_NEXT there is an implicit push * Note that when using REG_SCRIPT_COMMAND_NEXT there is an implicit push
* and pop of the context. A chained reg_script inherits the previous * and pop of the context. A chained reg_script inherits the previous
@ -87,13 +85,21 @@ struct reg_script {
union { union {
uint32_t id; uint32_t id;
const struct reg_script *next; const struct reg_script *next;
device_t dev; #ifdef __SIMPLE_DEVICE__
pci_devfn_t dev;
#else
struct device *dev;
#endif
unsigned int res_index; unsigned int res_index;
}; };
}; };
struct reg_script_context { struct reg_script_context {
device_t dev; #ifdef __SIMPLE_DEVICE__
pci_devfn_t dev;
#else
struct device *dev;
#endif
struct resource *res; struct resource *res;
const struct reg_script *step; const struct reg_script *step;
uint8_t display_state; /* Only modified by reg_script_run_step */ uint8_t display_state; /* Only modified by reg_script_run_step */
@ -437,6 +443,10 @@ IS_ENABLED(CONFIG_SOC_INTEL_FSP_BAYTRAIL)
_REG_SCRIPT_ENCODE_RAW(REG_SCRIPT_COMMAND_END, 0, 0, 0, 0, 0, 0, 0) _REG_SCRIPT_ENCODE_RAW(REG_SCRIPT_COMMAND_END, 0, 0, 0, 0, 0, 0, 0)
void reg_script_run(const struct reg_script *script); void reg_script_run(const struct reg_script *script);
void reg_script_run_on_dev(device_t dev, const struct reg_script *step); #ifdef __SIMPLE_DEVICE__
void reg_script_run_on_dev(pci_devfn_t dev, const struct reg_script *step);
#else
void reg_script_run_on_dev(struct device *dev, const struct reg_script *step);
#endif
#endif /* REG_SCRIPT_H */ #endif /* REG_SCRIPT_H */

View File

@ -40,8 +40,13 @@
#define EMPTY_DEV NULL #define EMPTY_DEV NULL
#endif #endif
#ifdef __SIMPLE_DEVICE__
static inline void reg_script_set_dev(struct reg_script_context *ctx, static inline void reg_script_set_dev(struct reg_script_context *ctx,
device_t dev) pci_devfn_t dev)
#else
static inline void reg_script_set_dev(struct reg_script_context *ctx,
struct device *dev)
#endif
{ {
ctx->dev = dev; ctx->dev = dev;
ctx->res = NULL; ctx->res = NULL;
@ -677,7 +682,11 @@ static void reg_script_run_next(struct reg_script_context *prev_ctx,
reg_script_run_with_context(&ctx); reg_script_run_with_context(&ctx);
} }
void reg_script_run_on_dev(device_t dev, const struct reg_script *step) #ifdef __SIMPLE_DEVICE__
void reg_script_run_on_dev(pci_devfn_t dev, const struct reg_script *step)
#else
void reg_script_run_on_dev(struct device *dev, const struct reg_script *step)
#endif
{ {
struct reg_script_context ctx; struct reg_script_context ctx;