diff mbox

[v2,2/4] i2c: designware-pci: shrink dw_pci_controllers array

Message ID 1422014045-20584-2-git-send-email-andriy.shevchenko@linux.intel.com
State Superseded
Headers show

Commit Message

Andy Shevchenko Jan. 23, 2015, 11:54 a.m. UTC
There is no need to duplicate same data for each controller. If we need
specific stuff for a certain controller in the future we may add it later. The
patch leaves one controller per platform.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 drivers/i2c/busses/i2c-designware-pcidrv.c | 63 ++++++------------------------
 1 file changed, 11 insertions(+), 52 deletions(-)

Comments

Wolfram Sang Jan. 23, 2015, 12:41 p.m. UTC | #1
On Fri, Jan 23, 2015 at 01:54:03PM +0200, Andy Shevchenko wrote:
> There is no need to duplicate same data for each controller. If we need
> specific stuff for a certain controller in the future we may add it later. The
> patch leaves one controller per platform.
> 
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> ---
>  drivers/i2c/busses/i2c-designware-pcidrv.c | 63 ++++++------------------------
>  1 file changed, 11 insertions(+), 52 deletions(-)
> 
> diff --git a/drivers/i2c/busses/i2c-designware-pcidrv.c b/drivers/i2c/busses/i2c-designware-pcidrv.c
> index 5c6fca7..435a8ec 100644
> --- a/drivers/i2c/busses/i2c-designware-pcidrv.c
> +++ b/drivers/i2c/busses/i2c-designware-pcidrv.c
> @@ -40,13 +40,7 @@
>  #define DRIVER_NAME "i2c-designware-pci"
>  
>  enum dw_pci_ctl_id_t {
> -	medfield_0,
> -	medfield_1,
> -	medfield_2,
> -	medfield_3,
> -	medfield_4,
> -	medfield_5,
> -
> +	medfield,
>  	baytrail,
>  	haswell,
>  };
> @@ -98,47 +92,12 @@ static struct dw_scl_sda_cfg hsw_config = {
>  };
>  
>  static struct  dw_pci_controller  dw_pci_controllers[] = {
> -	[medfield_0] = {
> -		.bus_num     = 0,

Wasn't that bus_num used to ensure stable bus numbers? Adding Mika.

> -		.bus_cfg   = INTEL_MID_STD_CFG | DW_IC_CON_SPEED_FAST,
> -		.tx_fifo_depth = 32,
> -		.rx_fifo_depth = 32,
> -		.clk_khz      = 25000,
> -	},
> -	[medfield_1] = {
> -		.bus_num     = 1,
> -		.bus_cfg   = INTEL_MID_STD_CFG | DW_IC_CON_SPEED_FAST,
> -		.tx_fifo_depth = 32,
> -		.rx_fifo_depth = 32,
> -		.clk_khz      = 25000,
> -	},
> -	[medfield_2] = {
> -		.bus_num     = 2,
> -		.bus_cfg   = INTEL_MID_STD_CFG | DW_IC_CON_SPEED_FAST,
> -		.tx_fifo_depth = 32,
> -		.rx_fifo_depth = 32,
> -		.clk_khz      = 25000,
> -	},
> -	[medfield_3] = {
> -		.bus_num     = 3,
> -		.bus_cfg   = INTEL_MID_STD_CFG | DW_IC_CON_SPEED_STD,
> -		.tx_fifo_depth = 32,
> -		.rx_fifo_depth = 32,
> -		.clk_khz      = 25000,
> -	},
> -	[medfield_4] = {
> -		.bus_num     = 4,
> -		.bus_cfg   = INTEL_MID_STD_CFG | DW_IC_CON_SPEED_FAST,
> -		.tx_fifo_depth = 32,
> -		.rx_fifo_depth = 32,
> -		.clk_khz      = 25000,
> -	},
> -	[medfield_5] = {
> -		.bus_num     = 5,
> -		.bus_cfg   = INTEL_MID_STD_CFG | DW_IC_CON_SPEED_FAST,
> +	[medfield] = {
> +		.bus_num = -1,
> +		.bus_cfg = INTEL_MID_STD_CFG | DW_IC_CON_SPEED_FAST,
>  		.tx_fifo_depth = 32,
>  		.rx_fifo_depth = 32,
> -		.clk_khz      = 25000,
> +		.clk_khz = 25000,
>  	},
>  	[baytrail] = {
>  		.bus_num = -1,
> @@ -301,12 +260,12 @@ MODULE_ALIAS("i2c_designware-pci");
>  
>  static const struct pci_device_id i2_designware_pci_ids[] = {
>  	/* Medfield */
> -	{ PCI_VDEVICE(INTEL, 0x0817), medfield_3,},
> -	{ PCI_VDEVICE(INTEL, 0x0818), medfield_4 },
> -	{ PCI_VDEVICE(INTEL, 0x0819), medfield_5 },
> -	{ PCI_VDEVICE(INTEL, 0x082C), medfield_0 },
> -	{ PCI_VDEVICE(INTEL, 0x082D), medfield_1 },
> -	{ PCI_VDEVICE(INTEL, 0x082E), medfield_2 },
> +	{ PCI_VDEVICE(INTEL, 0x0817), medfield },
> +	{ PCI_VDEVICE(INTEL, 0x0818), medfield },
> +	{ PCI_VDEVICE(INTEL, 0x0819), medfield },
> +	{ PCI_VDEVICE(INTEL, 0x082c), medfield },
> +	{ PCI_VDEVICE(INTEL, 0x082d), medfield },
> +	{ PCI_VDEVICE(INTEL, 0x082e), medfield },
>  	/* Baytrail */
>  	{ PCI_VDEVICE(INTEL, 0x0F41), baytrail },
>  	{ PCI_VDEVICE(INTEL, 0x0F42), baytrail },
> -- 
> 2.1.4
>
Mika Westerberg Jan. 23, 2015, 12:48 p.m. UTC | #2
On Fri, Jan 23, 2015 at 01:41:55PM +0100, Wolfram Sang wrote:
> On Fri, Jan 23, 2015 at 01:54:03PM +0200, Andy Shevchenko wrote:
> > There is no need to duplicate same data for each controller. If we need
> > specific stuff for a certain controller in the future we may add it later. The
> > patch leaves one controller per platform.
> > 
> > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> > ---
> >  drivers/i2c/busses/i2c-designware-pcidrv.c | 63 ++++++------------------------
> >  1 file changed, 11 insertions(+), 52 deletions(-)
> > 
> > diff --git a/drivers/i2c/busses/i2c-designware-pcidrv.c b/drivers/i2c/busses/i2c-designware-pcidrv.c
> > index 5c6fca7..435a8ec 100644
> > --- a/drivers/i2c/busses/i2c-designware-pcidrv.c
> > +++ b/drivers/i2c/busses/i2c-designware-pcidrv.c
> > @@ -40,13 +40,7 @@
> >  #define DRIVER_NAME "i2c-designware-pci"
> >  
> >  enum dw_pci_ctl_id_t {
> > -	medfield_0,
> > -	medfield_1,
> > -	medfield_2,
> > -	medfield_3,
> > -	medfield_4,
> > -	medfield_5,
> > -
> > +	medfield,
> >  	baytrail,
> >  	haswell,
> >  };
> > @@ -98,47 +92,12 @@ static struct dw_scl_sda_cfg hsw_config = {
> >  };
> >  
> >  static struct  dw_pci_controller  dw_pci_controllers[] = {
> > -	[medfield_0] = {
> > -		.bus_num     = 0,
> 
> Wasn't that bus_num used to ensure stable bus numbers? Adding Mika.

That's right.

However, I don't think anybody really uses Medfield outside Intel so in
that sense this patch should not break anything.
--
To unsubscribe from this list: send the line "unsubscribe linux-i2c" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Andy Shevchenko Jan. 23, 2015, 1:04 p.m. UTC | #3
On Fri, 2015-01-23 at 14:48 +0200, Mika Westerberg wrote:
> On Fri, Jan 23, 2015 at 01:41:55PM +0100, Wolfram Sang wrote:
> > On Fri, Jan 23, 2015 at 01:54:03PM +0200, Andy Shevchenko wrote:
> > > There is no need to duplicate same data for each controller. If we need
> > > specific stuff for a certain controller in the future we may add it later. The
> > > patch leaves one controller per platform.
> > > 
> > > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> > > ---
> > >  drivers/i2c/busses/i2c-designware-pcidrv.c | 63 ++++++------------------------
> > >  1 file changed, 11 insertions(+), 52 deletions(-)
> > > 
> > > diff --git a/drivers/i2c/busses/i2c-designware-pcidrv.c b/drivers/i2c/busses/i2c-designware-pcidrv.c
> > > index 5c6fca7..435a8ec 100644
> > > --- a/drivers/i2c/busses/i2c-designware-pcidrv.c
> > > +++ b/drivers/i2c/busses/i2c-designware-pcidrv.c
> > > @@ -40,13 +40,7 @@
> > >  #define DRIVER_NAME "i2c-designware-pci"
> > >  
> > >  enum dw_pci_ctl_id_t {
> > > -	medfield_0,
> > > -	medfield_1,
> > > -	medfield_2,
> > > -	medfield_3,
> > > -	medfield_4,
> > > -	medfield_5,
> > > -
> > > +	medfield,
> > >  	baytrail,
> > >  	haswell,
> > >  };
> > > @@ -98,47 +92,12 @@ static struct dw_scl_sda_cfg hsw_config = {
> > >  };
> > >  
> > >  static struct  dw_pci_controller  dw_pci_controllers[] = {
> > > -	[medfield_0] = {
> > > -		.bus_num     = 0,
> > 
> > Wasn't that bus_num used to ensure stable bus numbers? Adding Mika.
> 
> That's right.
> 
> However, I don't think anybody really uses Medfield outside Intel so in
> that sense this patch should not break anything.

I think better to ask David who is closer to that Intel MID area.

AFAIU, technically due to fake PCI bus on Medfield even with automatic
bus number you will get stable assignment, though it might be changed
once from the original version.
Wolfram Sang Jan. 24, 2015, 4:19 a.m. UTC | #4
On Fri, Jan 23, 2015 at 03:04:06PM +0200, Andy Shevchenko wrote:
> On Fri, 2015-01-23 at 14:48 +0200, Mika Westerberg wrote:
> > On Fri, Jan 23, 2015 at 01:41:55PM +0100, Wolfram Sang wrote:
> > > On Fri, Jan 23, 2015 at 01:54:03PM +0200, Andy Shevchenko wrote:
> > > > There is no need to duplicate same data for each controller. If we need
> > > > specific stuff for a certain controller in the future we may add it later. The
> > > > patch leaves one controller per platform.
> > > > 
> > > > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> > > > ---
> > > >  drivers/i2c/busses/i2c-designware-pcidrv.c | 63 ++++++------------------------
> > > >  1 file changed, 11 insertions(+), 52 deletions(-)
> > > > 
> > > > diff --git a/drivers/i2c/busses/i2c-designware-pcidrv.c b/drivers/i2c/busses/i2c-designware-pcidrv.c
> > > > index 5c6fca7..435a8ec 100644
> > > > --- a/drivers/i2c/busses/i2c-designware-pcidrv.c
> > > > +++ b/drivers/i2c/busses/i2c-designware-pcidrv.c
> > > > @@ -40,13 +40,7 @@
> > > >  #define DRIVER_NAME "i2c-designware-pci"
> > > >  
> > > >  enum dw_pci_ctl_id_t {
> > > > -	medfield_0,
> > > > -	medfield_1,
> > > > -	medfield_2,
> > > > -	medfield_3,
> > > > -	medfield_4,
> > > > -	medfield_5,
> > > > -
> > > > +	medfield,
> > > >  	baytrail,
> > > >  	haswell,
> > > >  };
> > > > @@ -98,47 +92,12 @@ static struct dw_scl_sda_cfg hsw_config = {
> > > >  };
> > > >  
> > > >  static struct  dw_pci_controller  dw_pci_controllers[] = {
> > > > -	[medfield_0] = {
> > > > -		.bus_num     = 0,
> > > 
> > > Wasn't that bus_num used to ensure stable bus numbers? Adding Mika.
> > 
> > That's right.
> > 
> > However, I don't think anybody really uses Medfield outside Intel so in
> > that sense this patch should not break anything.
> 
> I think better to ask David who is closer to that Intel MID area.

OK, waiting for a reply from him here.
Wolfram Sang Jan. 26, 2015, 12:15 p.m. UTC | #5
On Sat, Jan 24, 2015 at 05:19:14AM +0100, Wolfram Sang wrote:
> On Fri, Jan 23, 2015 at 03:04:06PM +0200, Andy Shevchenko wrote:
> > On Fri, 2015-01-23 at 14:48 +0200, Mika Westerberg wrote:
> > > On Fri, Jan 23, 2015 at 01:41:55PM +0100, Wolfram Sang wrote:
> > > > On Fri, Jan 23, 2015 at 01:54:03PM +0200, Andy Shevchenko wrote:
> > > > > There is no need to duplicate same data for each controller. If we need
> > > > > specific stuff for a certain controller in the future we may add it later. The
> > > > > patch leaves one controller per platform.
> > > > > 
> > > > > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> > > > > ---
> > > > >  drivers/i2c/busses/i2c-designware-pcidrv.c | 63 ++++++------------------------
> > > > >  1 file changed, 11 insertions(+), 52 deletions(-)
> > > > > 
> > > > > diff --git a/drivers/i2c/busses/i2c-designware-pcidrv.c b/drivers/i2c/busses/i2c-designware-pcidrv.c
> > > > > index 5c6fca7..435a8ec 100644
> > > > > --- a/drivers/i2c/busses/i2c-designware-pcidrv.c
> > > > > +++ b/drivers/i2c/busses/i2c-designware-pcidrv.c
> > > > > @@ -40,13 +40,7 @@
> > > > >  #define DRIVER_NAME "i2c-designware-pci"
> > > > >  
> > > > >  enum dw_pci_ctl_id_t {
> > > > > -	medfield_0,
> > > > > -	medfield_1,
> > > > > -	medfield_2,
> > > > > -	medfield_3,
> > > > > -	medfield_4,
> > > > > -	medfield_5,
> > > > > -
> > > > > +	medfield,
> > > > >  	baytrail,
> > > > >  	haswell,
> > > > >  };
> > > > > @@ -98,47 +92,12 @@ static struct dw_scl_sda_cfg hsw_config = {
> > > > >  };
> > > > >  
> > > > >  static struct  dw_pci_controller  dw_pci_controllers[] = {
> > > > > -	[medfield_0] = {
> > > > > -		.bus_num     = 0,
> > > > 
> > > > Wasn't that bus_num used to ensure stable bus numbers? Adding Mika.
> > > 
> > > That's right.
> > > 
> > > However, I don't think anybody really uses Medfield outside Intel so in
> > > that sense this patch should not break anything.
> > 
> > I think better to ask David who is closer to that Intel MID area.
> 
> OK, waiting for a reply from him here.

@David: ping
Wolfram Sang Feb. 5, 2015, 7:21 p.m. UTC | #6
On Mon, Jan 26, 2015 at 01:15:08PM +0100, Wolfram Sang wrote:
> On Sat, Jan 24, 2015 at 05:19:14AM +0100, Wolfram Sang wrote:
> > On Fri, Jan 23, 2015 at 03:04:06PM +0200, Andy Shevchenko wrote:
> > > On Fri, 2015-01-23 at 14:48 +0200, Mika Westerberg wrote:
> > > > On Fri, Jan 23, 2015 at 01:41:55PM +0100, Wolfram Sang wrote:
> > > > > On Fri, Jan 23, 2015 at 01:54:03PM +0200, Andy Shevchenko wrote:
> > > > > > There is no need to duplicate same data for each controller. If we need
> > > > > > specific stuff for a certain controller in the future we may add it later. The
> > > > > > patch leaves one controller per platform.
> > > > > > 
> > > > > > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> > > > > > ---
> > > > > >  drivers/i2c/busses/i2c-designware-pcidrv.c | 63 ++++++------------------------
> > > > > >  1 file changed, 11 insertions(+), 52 deletions(-)
> > > > > > 
> > > > > > diff --git a/drivers/i2c/busses/i2c-designware-pcidrv.c b/drivers/i2c/busses/i2c-designware-pcidrv.c
> > > > > > index 5c6fca7..435a8ec 100644
> > > > > > --- a/drivers/i2c/busses/i2c-designware-pcidrv.c
> > > > > > +++ b/drivers/i2c/busses/i2c-designware-pcidrv.c
> > > > > > @@ -40,13 +40,7 @@
> > > > > >  #define DRIVER_NAME "i2c-designware-pci"
> > > > > >  
> > > > > >  enum dw_pci_ctl_id_t {
> > > > > > -	medfield_0,
> > > > > > -	medfield_1,
> > > > > > -	medfield_2,
> > > > > > -	medfield_3,
> > > > > > -	medfield_4,
> > > > > > -	medfield_5,
> > > > > > -
> > > > > > +	medfield,
> > > > > >  	baytrail,
> > > > > >  	haswell,
> > > > > >  };
> > > > > > @@ -98,47 +92,12 @@ static struct dw_scl_sda_cfg hsw_config = {
> > > > > >  };
> > > > > >  
> > > > > >  static struct  dw_pci_controller  dw_pci_controllers[] = {
> > > > > > -	[medfield_0] = {
> > > > > > -		.bus_num     = 0,
> > > > > 
> > > > > Wasn't that bus_num used to ensure stable bus numbers? Adding Mika.
> > > > 
> > > > That's right.
> > > > 
> > > > However, I don't think anybody really uses Medfield outside Intel so in
> > > > that sense this patch should not break anything.
> > > 
> > > I think better to ask David who is closer to that Intel MID area.
> > 
> > OK, waiting for a reply from him here.
> 
> @David: ping

David: ping again
David Cohen Feb. 5, 2015, 10:56 p.m. UTC | #7
On Thu, Feb 05, 2015 at 08:21:36PM +0100, Wolfram Sang wrote:
> On Mon, Jan 26, 2015 at 01:15:08PM +0100, Wolfram Sang wrote:
> > On Sat, Jan 24, 2015 at 05:19:14AM +0100, Wolfram Sang wrote:
> > > On Fri, Jan 23, 2015 at 03:04:06PM +0200, Andy Shevchenko wrote:
> > > > On Fri, 2015-01-23 at 14:48 +0200, Mika Westerberg wrote:
> > > > > On Fri, Jan 23, 2015 at 01:41:55PM +0100, Wolfram Sang wrote:
> > > > > > On Fri, Jan 23, 2015 at 01:54:03PM +0200, Andy Shevchenko wrote:
> > > > > > > There is no need to duplicate same data for each controller. If we need
> > > > > > > specific stuff for a certain controller in the future we may add it later. The
> > > > > > > patch leaves one controller per platform.
> > > > > > > 
> > > > > > > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> > > > > > > ---
> > > > > > >  drivers/i2c/busses/i2c-designware-pcidrv.c | 63 ++++++------------------------
> > > > > > >  1 file changed, 11 insertions(+), 52 deletions(-)
> > > > > > > 
> > > > > > > diff --git a/drivers/i2c/busses/i2c-designware-pcidrv.c b/drivers/i2c/busses/i2c-designware-pcidrv.c
> > > > > > > index 5c6fca7..435a8ec 100644
> > > > > > > --- a/drivers/i2c/busses/i2c-designware-pcidrv.c
> > > > > > > +++ b/drivers/i2c/busses/i2c-designware-pcidrv.c
> > > > > > > @@ -40,13 +40,7 @@
> > > > > > >  #define DRIVER_NAME "i2c-designware-pci"
> > > > > > >  
> > > > > > >  enum dw_pci_ctl_id_t {
> > > > > > > -	medfield_0,
> > > > > > > -	medfield_1,
> > > > > > > -	medfield_2,
> > > > > > > -	medfield_3,
> > > > > > > -	medfield_4,
> > > > > > > -	medfield_5,
> > > > > > > -
> > > > > > > +	medfield,
> > > > > > >  	baytrail,
> > > > > > >  	haswell,
> > > > > > >  };
> > > > > > > @@ -98,47 +92,12 @@ static struct dw_scl_sda_cfg hsw_config = {
> > > > > > >  };
> > > > > > >  
> > > > > > >  static struct  dw_pci_controller  dw_pci_controllers[] = {
> > > > > > > -	[medfield_0] = {
> > > > > > > -		.bus_num     = 0,
> > > > > > 
> > > > > > Wasn't that bus_num used to ensure stable bus numbers? Adding Mika.
> > > > > 
> > > > > That's right.
> > > > > 
> > > > > However, I don't think anybody really uses Medfield outside Intel so in
> > > > > that sense this patch should not break anything.
> > > > 
> > > > I think better to ask David who is closer to that Intel MID area.
> > > 
> > > OK, waiting for a reply from him here.
> > 
> > @David: ping
> 
> David: ping again

Pong. Sorry for the delay.

There are actually few products based on Medfield reference board and
clovertrail+ as well uses medfield code. We need to keep the bus_num
there for these SFI platforms.

Br, David
--
To unsubscribe from this list: send the line "unsubscribe linux-i2c" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Andy Shevchenko Feb. 6, 2015, 10:50 a.m. UTC | #8
On Thu, 2015-02-05 at 14:56 -0800, David Cohen wrote:
> On Thu, Feb 05, 2015 at 08:21:36PM +0100, Wolfram Sang wrote:

> > > > > I think better to ask David who is closer to that Intel MID area.
> > > > 
> > > > OK, waiting for a reply from him here.
> > > 
> > > @David: ping
> > 
> > David: ping again
> 
> Pong. Sorry for the delay.
> 
> There are actually few products based on Medfield reference board and
> clovertrail+ as well uses medfield code. We need to keep the bus_num
> there for these SFI platforms.


Wolfram, I remove this patch and re-do and resend the former 4/4.
diff mbox

Patch

diff --git a/drivers/i2c/busses/i2c-designware-pcidrv.c b/drivers/i2c/busses/i2c-designware-pcidrv.c
index 5c6fca7..435a8ec 100644
--- a/drivers/i2c/busses/i2c-designware-pcidrv.c
+++ b/drivers/i2c/busses/i2c-designware-pcidrv.c
@@ -40,13 +40,7 @@ 
 #define DRIVER_NAME "i2c-designware-pci"
 
 enum dw_pci_ctl_id_t {
-	medfield_0,
-	medfield_1,
-	medfield_2,
-	medfield_3,
-	medfield_4,
-	medfield_5,
-
+	medfield,
 	baytrail,
 	haswell,
 };
@@ -98,47 +92,12 @@  static struct dw_scl_sda_cfg hsw_config = {
 };
 
 static struct  dw_pci_controller  dw_pci_controllers[] = {
-	[medfield_0] = {
-		.bus_num     = 0,
-		.bus_cfg   = INTEL_MID_STD_CFG | DW_IC_CON_SPEED_FAST,
-		.tx_fifo_depth = 32,
-		.rx_fifo_depth = 32,
-		.clk_khz      = 25000,
-	},
-	[medfield_1] = {
-		.bus_num     = 1,
-		.bus_cfg   = INTEL_MID_STD_CFG | DW_IC_CON_SPEED_FAST,
-		.tx_fifo_depth = 32,
-		.rx_fifo_depth = 32,
-		.clk_khz      = 25000,
-	},
-	[medfield_2] = {
-		.bus_num     = 2,
-		.bus_cfg   = INTEL_MID_STD_CFG | DW_IC_CON_SPEED_FAST,
-		.tx_fifo_depth = 32,
-		.rx_fifo_depth = 32,
-		.clk_khz      = 25000,
-	},
-	[medfield_3] = {
-		.bus_num     = 3,
-		.bus_cfg   = INTEL_MID_STD_CFG | DW_IC_CON_SPEED_STD,
-		.tx_fifo_depth = 32,
-		.rx_fifo_depth = 32,
-		.clk_khz      = 25000,
-	},
-	[medfield_4] = {
-		.bus_num     = 4,
-		.bus_cfg   = INTEL_MID_STD_CFG | DW_IC_CON_SPEED_FAST,
-		.tx_fifo_depth = 32,
-		.rx_fifo_depth = 32,
-		.clk_khz      = 25000,
-	},
-	[medfield_5] = {
-		.bus_num     = 5,
-		.bus_cfg   = INTEL_MID_STD_CFG | DW_IC_CON_SPEED_FAST,
+	[medfield] = {
+		.bus_num = -1,
+		.bus_cfg = INTEL_MID_STD_CFG | DW_IC_CON_SPEED_FAST,
 		.tx_fifo_depth = 32,
 		.rx_fifo_depth = 32,
-		.clk_khz      = 25000,
+		.clk_khz = 25000,
 	},
 	[baytrail] = {
 		.bus_num = -1,
@@ -301,12 +260,12 @@  MODULE_ALIAS("i2c_designware-pci");
 
 static const struct pci_device_id i2_designware_pci_ids[] = {
 	/* Medfield */
-	{ PCI_VDEVICE(INTEL, 0x0817), medfield_3,},
-	{ PCI_VDEVICE(INTEL, 0x0818), medfield_4 },
-	{ PCI_VDEVICE(INTEL, 0x0819), medfield_5 },
-	{ PCI_VDEVICE(INTEL, 0x082C), medfield_0 },
-	{ PCI_VDEVICE(INTEL, 0x082D), medfield_1 },
-	{ PCI_VDEVICE(INTEL, 0x082E), medfield_2 },
+	{ PCI_VDEVICE(INTEL, 0x0817), medfield },
+	{ PCI_VDEVICE(INTEL, 0x0818), medfield },
+	{ PCI_VDEVICE(INTEL, 0x0819), medfield },
+	{ PCI_VDEVICE(INTEL, 0x082c), medfield },
+	{ PCI_VDEVICE(INTEL, 0x082d), medfield },
+	{ PCI_VDEVICE(INTEL, 0x082e), medfield },
 	/* Baytrail */
 	{ PCI_VDEVICE(INTEL, 0x0F41), baytrail },
 	{ PCI_VDEVICE(INTEL, 0x0F42), baytrail },