linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/2] Fix build error caused by broken PCH_PTP module dependency.
@ 2012-09-24  7:20 Haicheng Li
  2012-09-24  7:22 ` [PATCH 2/2] Fix wrong description in PTP_1588_CLOCK_PCH help info Haicheng Li
                   ` (3 more replies)
  0 siblings, 4 replies; 19+ messages in thread
From: Haicheng Li @ 2012-09-24  7:20 UTC (permalink / raw)
  To: Takahiroi Shimizu, David S. Miller, linux-kernel, haicheng.lee

 From 1b4ae11bacfd2eedda1fd0e1ce1d37b678e2f009 Mon Sep 17 00:00:00 2001
From: Haicheng Li <haicheng.li@linux.intel.com>
Date: Mon, 24 Sep 2012 15:01:33 +0800
Subject: [PATCH 1/2] Fix build error caused by broken PCH_PTP module dependency.

The .config is:
         CONFIG_PCH_GBE=y
         CONFIG_PCH_PTP=y
         CONFIG_PTP_1588_CLOCK=m

The build error:

drivers/built-in.o: In function `pch_tx_timestamp':
.../pch_gbe_main.c:215: undefined reference to `pch_ch_event_read'
.../pch_gbe_main.c:225: undefined reference to `pch_tx_snap_read'
.../pch_gbe_main.c:231: undefined reference to `pch_ch_event_write'

.../pch_gbe_main.c:170: undefined reference to `pch_ch_event_read'
.../pch_gbe_main.c:175: undefined reference to `pch_src_uuid_lo_read'
.../pch_gbe_main.c:176: undefined reference to `pch_src_uuid_hi_read'
.../pch_gbe_main.c:190: undefined reference to `pch_ch_event_write'
.../pch_gbe_main.c:184: undefined reference to `pch_rx_snap_read'

.../pch_gbe_main.c:267: undefined reference to `pch_ch_control_write'
.../pch_gbe_main.c:271: undefined reference to `pch_ch_control_write'
.../pch_gbe_main.c:275: undefined reference to `pch_ch_control_write'
.../pch_gbe_main.c:281: undefined reference to `pch_ch_control_write'
.../pch_gbe_main.c:283: undefined reference to `pch_set_station_address'
.../pch_gbe_main.c:290: undefined reference to `pch_ch_event_write'

Signed-off-by: Haicheng Li <haicheng.lee@gmail.com>
---
  drivers/net/ethernet/oki-semi/pch_gbe/Kconfig |    2 +-
  1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/net/ethernet/oki-semi/pch_gbe/Kconfig 
b/drivers/net/ethernet/oki-semi/pch_gbe/Kconfig
index bce0164..9feaf3f 100644
--- a/drivers/net/ethernet/oki-semi/pch_gbe/Kconfig
+++ b/drivers/net/ethernet/oki-semi/pch_gbe/Kconfig
@@ -26,7 +26,7 @@ if PCH_GBE
  config PCH_PTP
  	bool "PCH PTP clock support"
  	default n
-	depends on PTP_1588_CLOCK_PCH
+	depends on PTP_1588_CLOCK_PCH = y
  	---help---
  	  Say Y here if you want to use Precision Time Protocol (PTP) in the
  	  driver. PTP is a method to precisely synchronize distributed clocks
-- 
1.7.1


^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [PATCH 2/2] Fix wrong description in PTP_1588_CLOCK_PCH help info.
  2012-09-24  7:20 [PATCH 1/2] Fix build error caused by broken PCH_PTP module dependency Haicheng Li
@ 2012-09-24  7:22 ` Haicheng Li
  2012-09-24  8:14   ` [Updated PATCH 2/2] Fix a typo in PTP_1588_CLOCK_PCH Kconfig " Haicheng Li
  2012-09-25  0:24   ` [PATCH " Haicheng Li
  2012-09-24  8:08 ` [Updated PATCH 1/2] Fix build error caused by broken PCH_PTP module dependency Haicheng Li
                   ` (2 subsequent siblings)
  3 siblings, 2 replies; 19+ messages in thread
From: Haicheng Li @ 2012-09-24  7:22 UTC (permalink / raw)
  To: Haicheng Li
  Cc: Takahiroi Shimizu, David S. Miller, linux-kernel, haicheng.lee

 From a206a006d82c327ba308674c608fbd6c9ce1e702 Mon Sep 17 00:00:00 2001
From: Haicheng Li <haicheng.li@linux.intel.com>
Date: Mon, 24 Sep 2012 15:02:41 +0800
Subject: [PATCH 2/2] Fix wrong description in PTP_1588_CLOCK_PCH help info.

Signed-off-by: Haicheng Li <haicheng.lee@gmail.com>
---
  drivers/ptp/Kconfig |    3 +--
  1 files changed, 1 insertions(+), 2 deletions(-)

diff --git a/drivers/ptp/Kconfig b/drivers/ptp/Kconfig
index ffdf712..988786d 100644
--- a/drivers/ptp/Kconfig
+++ b/drivers/ptp/Kconfig
@@ -86,7 +86,6 @@ config PTP_1588_CLOCK_PCH
  	  hardware time stamps on the PTP Ethernet packets using the
  	  SO_TIMESTAMPING API.

-	  To compile this driver as a module, choose M here: the module
-	  will be called ptp_pch.
+	  Choose Y here if you want to enable PCH PTP clock support.

  endmenu
-- 
1.7.1


^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [Updated PATCH 1/2] Fix build error caused by broken PCH_PTP module dependency.
  2012-09-24  7:20 [PATCH 1/2] Fix build error caused by broken PCH_PTP module dependency Haicheng Li
  2012-09-24  7:22 ` [PATCH 2/2] Fix wrong description in PTP_1588_CLOCK_PCH help info Haicheng Li
@ 2012-09-24  8:08 ` Haicheng Li
  2012-09-24 17:46 ` [PATCH " David Miller
  2012-09-25  0:23 ` Haicheng Li
  3 siblings, 0 replies; 19+ messages in thread
From: Haicheng Li @ 2012-09-24  8:08 UTC (permalink / raw)
  To: Haicheng Li, Takahiroi Shimizu, David S. Miller
  Cc: linux-kernel, haicheng.lee

this version would be more clean:

 From 898e3214b3406c620571cedf704719784b0df049 Mon Sep 17 00:00:00 2001
From: Haicheng Li <haicheng.li@linux.intel.com>
Date: Mon, 24 Sep 2012 15:52:30 +0800
Subject: [PATCH 1/2] Fix build error caused by broken PCH_PTP module dependency.

The .config is:
         CONFIG_PCH_GBE=y
         CONFIG_PCH_PTP=y
         CONFIG_PTP_1588_CLOCK=m

The build error:

drivers/built-in.o: In function `pch_tx_timestamp':
.../pch_gbe_main.c:215: undefined reference to `pch_ch_event_read'
.../pch_gbe_main.c:225: undefined reference to `pch_tx_snap_read'
.../pch_gbe_main.c:231: undefined reference to `pch_ch_event_write'

.../pch_gbe_main.c:170: undefined reference to `pch_ch_event_read'
.../pch_gbe_main.c:175: undefined reference to `pch_src_uuid_lo_read'
.../pch_gbe_main.c:176: undefined reference to `pch_src_uuid_hi_read'
.../pch_gbe_main.c:190: undefined reference to `pch_ch_event_write'
.../pch_gbe_main.c:184: undefined reference to `pch_rx_snap_read'

.../pch_gbe_main.c:267: undefined reference to `pch_ch_control_write'
.../pch_gbe_main.c:271: undefined reference to `pch_ch_control_write'
.../pch_gbe_main.c:275: undefined reference to `pch_ch_control_write'
.../pch_gbe_main.c:281: undefined reference to `pch_ch_control_write'
.../pch_gbe_main.c:283: undefined reference to `pch_set_station_address'
.../pch_gbe_main.c:290: undefined reference to `pch_ch_event_write'

Signed-off-by: Haicheng Li <haicheng.lee@gmail.com>
---
  drivers/net/ethernet/oki-semi/pch_gbe/Kconfig |    2 +-
  1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/net/ethernet/oki-semi/pch_gbe/Kconfig 
b/drivers/net/ethernet/oki-semi/pch_gbe/Kconfig
index bce0164..6c8aed4 100644
--- a/drivers/net/ethernet/oki-semi/pch_gbe/Kconfig
+++ b/drivers/net/ethernet/oki-semi/pch_gbe/Kconfig
@@ -26,7 +26,7 @@ if PCH_GBE
  config PCH_PTP
  	bool "PCH PTP clock support"
  	default n
-	depends on PTP_1588_CLOCK_PCH
+	depends on PTP_1588_CLOCK_PCH = PCH_GBE
  	---help---
  	  Say Y here if you want to use Precision Time Protocol (PTP) in the
  	  driver. PTP is a method to precisely synchronize distributed clocks
-- 
1.7.1


^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [Updated PATCH 2/2] Fix a typo in PTP_1588_CLOCK_PCH Kconfig help info.
  2012-09-24  7:22 ` [PATCH 2/2] Fix wrong description in PTP_1588_CLOCK_PCH help info Haicheng Li
@ 2012-09-24  8:14   ` Haicheng Li
  2012-09-25  0:24   ` [PATCH " Haicheng Li
  1 sibling, 0 replies; 19+ messages in thread
From: Haicheng Li @ 2012-09-24  8:14 UTC (permalink / raw)
  To: Haicheng Li, Takahiroi Shimizu, David S. Miller
  Cc: linux-kernel, haicheng.lee

pls. ignore original one, and use this instead:

 From 5911413366d37aafcc19ddfc9c0f2db31855431e Mon Sep 17 00:00:00 2001
From: Haicheng Li <haicheng.li@linux.intel.com>
Date: Mon, 24 Sep 2012 15:55:27 +0800
Subject: [PATCH 2/2] Fix a typo in PTP_1588_CLOCK_PCH Kconfig help info.

Signed-off-by: Haicheng Li <haicheng.lee@gmail.com>
---
  drivers/ptp/Kconfig |    2 +-
  1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/ptp/Kconfig b/drivers/ptp/Kconfig
index ffdf712..82c4a26 100644
--- a/drivers/ptp/Kconfig
+++ b/drivers/ptp/Kconfig
@@ -87,6 +87,6 @@ config PTP_1588_CLOCK_PCH
  	  SO_TIMESTAMPING API.

  	  To compile this driver as a module, choose M here: the module
-	  will be called ptp_pch.
+	  will be called by pch_ptp.

  endmenu
-- 
1.7.1

^ permalink raw reply related	[flat|nested] 19+ messages in thread

* Re: [PATCH 1/2] Fix build error caused by broken PCH_PTP module dependency.
  2012-09-24  7:20 [PATCH 1/2] Fix build error caused by broken PCH_PTP module dependency Haicheng Li
  2012-09-24  7:22 ` [PATCH 2/2] Fix wrong description in PTP_1588_CLOCK_PCH help info Haicheng Li
  2012-09-24  8:08 ` [Updated PATCH 1/2] Fix build error caused by broken PCH_PTP module dependency Haicheng Li
@ 2012-09-24 17:46 ` David Miller
  2012-09-25  0:23 ` Haicheng Li
  3 siblings, 0 replies; 19+ messages in thread
From: David Miller @ 2012-09-24 17:46 UTC (permalink / raw)
  To: haicheng.li; +Cc: tshimizu818, linux-kernel, haicheng.lee


Please post all networking patches to netdev@vger.kernel.org

Thank you.

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [PATCH 1/2] Fix build error caused by broken PCH_PTP module dependency.
  2012-09-24  7:20 [PATCH 1/2] Fix build error caused by broken PCH_PTP module dependency Haicheng Li
                   ` (2 preceding siblings ...)
  2012-09-24 17:46 ` [PATCH " David Miller
@ 2012-09-25  0:23 ` Haicheng Li
  2012-09-27 22:09   ` David Miller
  3 siblings, 1 reply; 19+ messages in thread
From: Haicheng Li @ 2012-09-25  0:23 UTC (permalink / raw)
  To: Haicheng Li, David S. Miller, netdev
  Cc: Takahiroi Shimizu, linux-kernel, haicheng.lee

 From 898e3214b3406c620571cedf704719784b0df049 Mon Sep 17 00:00:00 2001
From: Haicheng Li <haicheng.li@linux.intel.com>
Date: Mon, 24 Sep 2012 15:52:30 +0800
Subject: [PATCH 1/2] Fix build error caused by broken PCH_PTP module dependency.

The .config is:
         CONFIG_PCH_GBE=y
         CONFIG_PCH_PTP=y
         CONFIG_PTP_1588_CLOCK=m

The build error:

drivers/built-in.o: In function `pch_tx_timestamp':
.../pch_gbe_main.c:215: undefined reference to `pch_ch_event_read'
.../pch_gbe_main.c:225: undefined reference to `pch_tx_snap_read'
.../pch_gbe_main.c:231: undefined reference to `pch_ch_event_write'

.../pch_gbe_main.c:170: undefined reference to `pch_ch_event_read'
.../pch_gbe_main.c:175: undefined reference to `pch_src_uuid_lo_read'
.../pch_gbe_main.c:176: undefined reference to `pch_src_uuid_hi_read'
.../pch_gbe_main.c:190: undefined reference to `pch_ch_event_write'
.../pch_gbe_main.c:184: undefined reference to `pch_rx_snap_read'

.../pch_gbe_main.c:267: undefined reference to `pch_ch_control_write'
.../pch_gbe_main.c:271: undefined reference to `pch_ch_control_write'
.../pch_gbe_main.c:275: undefined reference to `pch_ch_control_write'
.../pch_gbe_main.c:281: undefined reference to `pch_ch_control_write'
.../pch_gbe_main.c:283: undefined reference to `pch_set_station_address'
.../pch_gbe_main.c:290: undefined reference to `pch_ch_event_write'

Signed-off-by: Haicheng Li <haicheng.lee@gmail.com>
---
  drivers/net/ethernet/oki-semi/pch_gbe/Kconfig |    2 +-
  1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/net/ethernet/oki-semi/pch_gbe/Kconfig 
b/drivers/net/ethernet/oki-semi/pch_gbe/Kconfig
index bce0164..6c8aed4 100644
--- a/drivers/net/ethernet/oki-semi/pch_gbe/Kconfig
+++ b/drivers/net/ethernet/oki-semi/pch_gbe/Kconfig
@@ -26,7 +26,7 @@ if PCH_GBE
  config PCH_PTP
  	bool "PCH PTP clock support"
  	default n
-	depends on PTP_1588_CLOCK_PCH
+	depends on PTP_1588_CLOCK_PCH = PCH_GBE
  	---help---
  	  Say Y here if you want to use Precision Time Protocol (PTP) in the
  	  driver. PTP is a method to precisely synchronize distributed clocks
-- 
1.7.1


^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [PATCH 2/2] Fix a typo in PTP_1588_CLOCK_PCH Kconfig help info.
  2012-09-24  7:22 ` [PATCH 2/2] Fix wrong description in PTP_1588_CLOCK_PCH help info Haicheng Li
  2012-09-24  8:14   ` [Updated PATCH 2/2] Fix a typo in PTP_1588_CLOCK_PCH Kconfig " Haicheng Li
@ 2012-09-25  0:24   ` Haicheng Li
  2012-09-27 22:06     ` David Miller
  1 sibling, 1 reply; 19+ messages in thread
From: Haicheng Li @ 2012-09-25  0:24 UTC (permalink / raw)
  To: David S. Miller, netdev; +Cc: Takahiroi Shimizu, linux-kernel, haicheng.lee

 From 5911413366d37aafcc19ddfc9c0f2db31855431e Mon Sep 17 00:00:00 2001
From: Haicheng Li <haicheng.li@linux.intel.com>
Date: Mon, 24 Sep 2012 15:55:27 +0800
Subject: [PATCH 2/2] Fix a typo in PTP_1588_CLOCK_PCH Kconfig help info.

Signed-off-by: Haicheng Li <haicheng.lee@gmail.com>
---
  drivers/ptp/Kconfig |    2 +-
  1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/ptp/Kconfig b/drivers/ptp/Kconfig
index ffdf712..82c4a26 100644
--- a/drivers/ptp/Kconfig
+++ b/drivers/ptp/Kconfig
@@ -87,6 +87,6 @@ config PTP_1588_CLOCK_PCH
  	  SO_TIMESTAMPING API.

  	  To compile this driver as a module, choose M here: the module
-	  will be called ptp_pch.
+	  will be called by pch_ptp.

  endmenu
-- 
1.7.1


^ permalink raw reply related	[flat|nested] 19+ messages in thread

* Re: [PATCH 2/2] Fix a typo in PTP_1588_CLOCK_PCH Kconfig help info.
  2012-09-25  0:24   ` [PATCH " Haicheng Li
@ 2012-09-27 22:06     ` David Miller
  2012-09-28  6:44       ` Haicheng Li
  0 siblings, 1 reply; 19+ messages in thread
From: David Miller @ 2012-09-27 22:06 UTC (permalink / raw)
  To: haicheng.li; +Cc: netdev, tshimizu818, linux-kernel, haicheng.lee

From: Haicheng Li <haicheng.li@linux.intel.com>
Date: Tue, 25 Sep 2012 08:24:36 +0800

> From 5911413366d37aafcc19ddfc9c0f2db31855431e Mon Sep 17 00:00:00 2001
> From: Haicheng Li <haicheng.li@linux.intel.com>
> Date: Mon, 24 Sep 2012 15:55:27 +0800
> Subject: [PATCH 2/2] Fix a typo in PTP_1588_CLOCK_PCH Kconfig help
> info.
> 
> Signed-off-by: Haicheng Li <haicheng.lee@gmail.com>
> ---
>  drivers/ptp/Kconfig |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/drivers/ptp/Kconfig b/drivers/ptp/Kconfig
> index ffdf712..82c4a26 100644
> --- a/drivers/ptp/Kconfig
> +++ b/drivers/ptp/Kconfig
> @@ -87,6 +87,6 @@ config PTP_1588_CLOCK_PCH
>  	  SO_TIMESTAMPING API.
> 
>  	  To compile this driver as a module, choose M here: the module
> -	  will be called ptp_pch.
> +	  will be called by pch_ptp.

The original sentence is correct, it is stating the name of the module
that will be built not the module that will call it.

Rather, the "pch_ptp" is what might need to be adjusted.

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 1/2] Fix build error caused by broken PCH_PTP module dependency.
  2012-09-25  0:23 ` Haicheng Li
@ 2012-09-27 22:09   ` David Miller
  2012-09-28  6:41     ` Haicheng Li
  0 siblings, 1 reply; 19+ messages in thread
From: David Miller @ 2012-09-27 22:09 UTC (permalink / raw)
  To: haicheng.li; +Cc: netdev, tshimizu818, linux-kernel, haicheng.lee

From: Haicheng Li <haicheng.li@linux.intel.com>
Date: Tue, 25 Sep 2012 08:23:27 +0800

> From 898e3214b3406c620571cedf704719784b0df049 Mon Sep 17 00:00:00 2001
> From: Haicheng Li <haicheng.li@linux.intel.com>
> Date: Mon, 24 Sep 2012 15:52:30 +0800
> Subject: [PATCH 1/2] Fix build error caused by broken PCH_PTP module
> dependency.
> 
> The .config is:
>         CONFIG_PCH_GBE=y
>         CONFIG_PCH_PTP=y
>         CONFIG_PTP_1588_CLOCK=m
> 
> The build error:

Your patch submissions are of a very low quality.

And the main reason is that you microscopically look at problems and
do not investigate how the same thing might be handled elsewhere.

Therefore you will never become accustomed to the proper way problems
are fixed, and the proper way to submit patches.

Look at how other people submit patches, do any other patch submissions
look like your's having all of this metadata in the message body:

> From 898e3214b3406c620571cedf704719784b0df049 Mon Sep 17 00:00:00 2001
> From: Haicheng Li <haicheng.li@linux.intel.com>
> Date: Mon, 24 Sep 2012 15:52:30 +0800
> Subject: [PATCH 1/2] Fix build error caused by broken PCH_PTP module
> dependency.

No, nobody else does this.

As for this specific patch:

> -	depends on PTP_1588_CLOCK_PCH
> +	depends on PTP_1588_CLOCK_PCH = PCH_GBE

This is not the correct way to ensure that the module'ness of one
config option meets the module'ness requirements of another.

The correct way is to say something like "&& (PCH_GBE || PCH_GBE=n)"

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 1/2] Fix build error caused by broken PCH_PTP module dependency.
  2012-09-27 22:09   ` David Miller
@ 2012-09-28  6:41     ` Haicheng Li
  2012-09-28  6:46       ` David Miller
  0 siblings, 1 reply; 19+ messages in thread
From: Haicheng Li @ 2012-09-28  6:41 UTC (permalink / raw)
  To: David Miller; +Cc: netdev, tshimizu818, linux-kernel, haicheng.lee

On 09/28/2012 06:09 AM, David Miller wrote:
> Look at how other people submit patches, do any other patch submissions
> look like your's having all of this metadata in the message body:
I'm sorry for it.

> As for this specific patch:
>
>> -	depends on PTP_1588_CLOCK_PCH
>> +	depends on PTP_1588_CLOCK_PCH = PCH_GBE
>
> This is not the correct way to ensure that the module'ness of one
> config option meets the module'ness requirements of another.
> The correct way is to say something like "&&  (PCH_GBE || PCH_GBE=n)"

This case is a little bit tricky than usual, with PCH_PTP selected, the valid 
config would be either "PTP_1588_CLOCK_PCH=PCH_GBE=m" or 
"PTP_1588_CLOCK_PCH=PCH_GBE=y", and PTP_1588_CLOCK_PCH depends on PCH_GBE.

So are you ok with this:
+	depends on PTP_1588_CLOCK_PCH && (PCH_GBE=m || PTP_1588_CLOCK_PCH=y)

or simply like:
---
From: Haicheng Li <haicheng.lee@gmail.com>

Fix build error caused by broken PCH_PTP module dependency.
The .config is:
         CONFIG_PCH_GBE=y
         CONFIG_PCH_PTP=y
         CONFIG_PTP_1588_CLOCK=m

The build error:

drivers/built-in.o: In function `pch_tx_timestamp':
.../pch_gbe_main.c:215: undefined reference to `pch_ch_event_read'
.../pch_gbe_main.c:225: undefined reference to `pch_tx_snap_read'
.../pch_gbe_main.c:231: undefined reference to `pch_ch_event_write'

.../pch_gbe_main.c:170: undefined reference to `pch_ch_event_read'
.../pch_gbe_main.c:175: undefined reference to `pch_src_uuid_lo_read'
.../pch_gbe_main.c:176: undefined reference to `pch_src_uuid_hi_read'
.../pch_gbe_main.c:190: undefined reference to `pch_ch_event_write'
.../pch_gbe_main.c:184: undefined reference to `pch_rx_snap_read'

.../pch_gbe_main.c:267: undefined reference to `pch_ch_control_write'
.../pch_gbe_main.c:271: undefined reference to `pch_ch_control_write'
.../pch_gbe_main.c:275: undefined reference to `pch_ch_control_write'
.../pch_gbe_main.c:281: undefined reference to `pch_ch_control_write'
.../pch_gbe_main.c:283: undefined reference to `pch_set_station_address'
.../pch_gbe_main.c:290: undefined reference to `pch_ch_event_write'

Signed-off-by: Haicheng Li <haicheng.lee@gmail.com>
---
  drivers/net/ethernet/oki-semi/pch_gbe/Kconfig |    4 ++--
  1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/oki-semi/pch_gbe/Kconfig 
b/drivers/net/ethernet/oki-semi/pch_gbe/Kconfig
index bce0164..df1e649 100644
--- a/drivers/net/ethernet/oki-semi/pch_gbe/Kconfig
+++ b/drivers/net/ethernet/oki-semi/pch_gbe/Kconfig
@@ -21,12 +21,12 @@ config PCH_GBE
  	  ML7223/ML7831 is companion chip for Intel Atom E6xx series.
  	  ML7223/ML7831 is completely compatible for Intel EG20T PCH.

-if PCH_GBE
+if PTP_1588_CLOCK_PCH

  config PCH_PTP
  	bool "PCH PTP clock support"
  	default n
-	depends on PTP_1588_CLOCK_PCH
+	depends on PTP_1588_CLOCK_PCH=y || PCH_GBE=m
  	---help---
  	  Say Y here if you want to use Precision Time Protocol (PTP) in the
  	  driver. PTP is a method to precisely synchronize distributed clocks
-- 
1.7.1



-haicheng

^ permalink raw reply related	[flat|nested] 19+ messages in thread

* Re: [PATCH 2/2] Fix a typo in PTP_1588_CLOCK_PCH Kconfig help info.
  2012-09-27 22:06     ` David Miller
@ 2012-09-28  6:44       ` Haicheng Li
  0 siblings, 0 replies; 19+ messages in thread
From: Haicheng Li @ 2012-09-28  6:44 UTC (permalink / raw)
  To: David Miller; +Cc: netdev, tshimizu818, linux-kernel, haicheng.lee

On 09/28/2012 06:06 AM, David Miller wrote:
>> -	  will be called ptp_pch.
>> +	  will be called by pch_ptp.
>
> The original sentence is correct, it is stating the name of the module
> that will be built not the module that will call it.
You're right.

> Rather, the "pch_ptp" is what might need to be adjusted.
No need, the output is ptp_pch.ko.

So pls. ignore this patch. sorry for the bothering.

-haicheng

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 1/2] Fix build error caused by broken PCH_PTP module dependency.
  2012-09-28  6:41     ` Haicheng Li
@ 2012-09-28  6:46       ` David Miller
  2012-09-28  6:57         ` Haicheng Li
  0 siblings, 1 reply; 19+ messages in thread
From: David Miller @ 2012-09-28  6:46 UTC (permalink / raw)
  To: haicheng.li; +Cc: netdev, tshimizu818, linux-kernel, haicheng.lee

From: Haicheng Li <haicheng.li@linux.intel.com>
Date: Fri, 28 Sep 2012 14:41:43 +0800

> On 09/28/2012 06:09 AM, David Miller wrote:
>> Look at how other people submit patches, do any other patch
>> submissions
>> look like your's having all of this metadata in the message body:
> I'm sorry for it.
> 
>> As for this specific patch:
>>
>>> -	depends on PTP_1588_CLOCK_PCH
>>> +	depends on PTP_1588_CLOCK_PCH = PCH_GBE
>>
>> This is not the correct way to ensure that the module'ness of one
>> config option meets the module'ness requirements of another.
>> The correct way is to say something like "&&  (PCH_GBE || PCH_GBE=n)"
> 
> This case is a little bit tricky than usual, with PCH_PTP selected,
> the valid config would be either "PTP_1588_CLOCK_PCH=PCH_GBE=m" or
> "PTP_1588_CLOCK_PCH=PCH_GBE=y", and PTP_1588_CLOCK_PCH depends on
> PCH_GBE.

And a simple "&& PCH_GBE" should accomplish this, no?


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 1/2] Fix build error caused by broken PCH_PTP module dependency.
  2012-09-28  6:46       ` David Miller
@ 2012-09-28  6:57         ` Haicheng Li
  2012-10-03  2:22           ` David Miller
  0 siblings, 1 reply; 19+ messages in thread
From: Haicheng Li @ 2012-09-28  6:57 UTC (permalink / raw)
  To: David Miller; +Cc: netdev, tshimizu818, linux-kernel, haicheng.lee

On 09/28/2012 02:46 PM, David Miller wrote:
> From: Haicheng Li<haicheng.li@linux.intel.com>
> Date: Fri, 28 Sep 2012 14:41:43 +0800
>
>> On 09/28/2012 06:09 AM, David Miller wrote:
>>> Look at how other people submit patches, do any other patch
>>> submissions
>>> look like your's having all of this metadata in the message body:
>> I'm sorry for it.
>>
>>> As for this specific patch:
>>>
>>>> -	depends on PTP_1588_CLOCK_PCH
>>>> +	depends on PTP_1588_CLOCK_PCH = PCH_GBE
>>>
>>> This is not the correct way to ensure that the module'ness of one
>>> config option meets the module'ness requirements of another.
>>> The correct way is to say something like "&&   (PCH_GBE || PCH_GBE=n)"
>>
>> This case is a little bit tricky than usual, with PCH_PTP selected,
>> the valid config would be either "PTP_1588_CLOCK_PCH=PCH_GBE=m" or
>> "PTP_1588_CLOCK_PCH=PCH_GBE=y", and PTP_1588_CLOCK_PCH depends on
>> PCH_GBE.
>
> And a simple "&&  PCH_GBE" should accomplish this, no?
No sir. it's actually same with the original Kconfig (by a if PCH_GBE"), it 
just failed with this config:

         CONFIG_PCH_GBE=y
         CONFIG_PCH_PTP=y
         CONFIG_PTP_1588_CLOCK=m

-haicheng

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 1/2] Fix build error caused by broken PCH_PTP module dependency.
  2012-09-28  6:57         ` Haicheng Li
@ 2012-10-03  2:22           ` David Miller
  2012-10-03 21:45             ` Ben Hutchings
  0 siblings, 1 reply; 19+ messages in thread
From: David Miller @ 2012-10-03  2:22 UTC (permalink / raw)
  To: haicheng.li; +Cc: netdev, tshimizu818, linux-kernel, haicheng.lee

From: Haicheng Li <haicheng.li@linux.intel.com>
Date: Fri, 28 Sep 2012 14:57:38 +0800

> On 09/28/2012 02:46 PM, David Miller wrote:
>> From: Haicheng Li<haicheng.li@linux.intel.com>
>> Date: Fri, 28 Sep 2012 14:41:43 +0800
>>
>>> On 09/28/2012 06:09 AM, David Miller wrote:
>>>> Look at how other people submit patches, do any other patch
>>>> submissions
>>>> look like your's having all of this metadata in the message body:
>>> I'm sorry for it.
>>>
>>>> As for this specific patch:
>>>>
>>>>> -	depends on PTP_1588_CLOCK_PCH
>>>>> +	depends on PTP_1588_CLOCK_PCH = PCH_GBE
>>>>
>>>> This is not the correct way to ensure that the module'ness of one
>>>> config option meets the module'ness requirements of another.
>>>> The correct way is to say something like "&&   (PCH_GBE || PCH_GBE=n)"
>>>
>>> This case is a little bit tricky than usual, with PCH_PTP selected,
>>> the valid config would be either "PTP_1588_CLOCK_PCH=PCH_GBE=m" or
>>> "PTP_1588_CLOCK_PCH=PCH_GBE=y", and PTP_1588_CLOCK_PCH depends on
>>> PCH_GBE.
>>
>> And a simple "&&  PCH_GBE" should accomplish this, no?
> No sir. it's actually same with the original Kconfig (by a if
> PCH_GBE"), it just failed with this config:
> 
>         CONFIG_PCH_GBE=y
>         CONFIG_PCH_PTP=y
>         CONFIG_PTP_1588_CLOCK=m

The correct fix is to make the Kconfig entry for PCH_PTP use
a "select PTP_1588_CLOCK" instead of "depends PTP_1588_CLOCK"

I'll apply this fix.

The is another, extremely convoluted, way to do this, which is
what the SFC driver does which is:

depends on SFC && PTP_1588_CLOCK && !(SFC=y && PTP_1588_CLOCK=m)

but that looks horrible to me.

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 1/2] Fix build error caused by broken PCH_PTP module dependency.
  2012-10-03  2:22           ` David Miller
@ 2012-10-03 21:45             ` Ben Hutchings
  2012-10-04  0:43               ` David Miller
  0 siblings, 1 reply; 19+ messages in thread
From: Ben Hutchings @ 2012-10-03 21:45 UTC (permalink / raw)
  To: David Miller; +Cc: haicheng.li, netdev, tshimizu818, linux-kernel, haicheng.lee

On Tue, 2012-10-02 at 22:22 -0400, David Miller wrote:
> From: Haicheng Li <haicheng.li@linux.intel.com>
> Date: Fri, 28 Sep 2012 14:57:38 +0800
> 
> > On 09/28/2012 02:46 PM, David Miller wrote:
> >> From: Haicheng Li<haicheng.li@linux.intel.com>
> >> Date: Fri, 28 Sep 2012 14:41:43 +0800
> >>
> >>> On 09/28/2012 06:09 AM, David Miller wrote:
> >>>> Look at how other people submit patches, do any other patch
> >>>> submissions
> >>>> look like your's having all of this metadata in the message body:
> >>> I'm sorry for it.
> >>>
> >>>> As for this specific patch:
> >>>>
> >>>>> -	depends on PTP_1588_CLOCK_PCH
> >>>>> +	depends on PTP_1588_CLOCK_PCH = PCH_GBE
> >>>>
> >>>> This is not the correct way to ensure that the module'ness of one
> >>>> config option meets the module'ness requirements of another.
> >>>> The correct way is to say something like "&&   (PCH_GBE || PCH_GBE=n)"
> >>>
> >>> This case is a little bit tricky than usual, with PCH_PTP selected,
> >>> the valid config would be either "PTP_1588_CLOCK_PCH=PCH_GBE=m" or
> >>> "PTP_1588_CLOCK_PCH=PCH_GBE=y", and PTP_1588_CLOCK_PCH depends on
> >>> PCH_GBE.
> >>
> >> And a simple "&&  PCH_GBE" should accomplish this, no?
> > No sir. it's actually same with the original Kconfig (by a if
> > PCH_GBE"), it just failed with this config:
> > 
> >         CONFIG_PCH_GBE=y
> >         CONFIG_PCH_PTP=y
> >         CONFIG_PTP_1588_CLOCK=m
> 
> The correct fix is to make the Kconfig entry for PCH_PTP use
> a "select PTP_1588_CLOCK" instead of "depends PTP_1588_CLOCK"
> 
> I'll apply this fix.
> 
> The is another, extremely convoluted, way to do this, which is
> what the SFC driver does which is:
> 
> depends on SFC && PTP_1588_CLOCK && !(SFC=y && PTP_1588_CLOCK=m)
> 
> but that looks horrible to me.

I thought of it as being a peripheral feature (which most Solarflare
hardware doesn't implement) so it made sense for SFC_PTP to be optional
like SFC_MTD and so on.  But I'm quite happy to use a select instead, if
you want that to be the convention for all drivers implementing PHC.

Ben.

-- 
Ben Hutchings, Staff Engineer, Solarflare
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 1/2] Fix build error caused by broken PCH_PTP module dependency.
  2012-10-03 21:45             ` Ben Hutchings
@ 2012-10-04  0:43               ` David Miller
  2012-10-16 20:09                 ` Ben Hutchings
  0 siblings, 1 reply; 19+ messages in thread
From: David Miller @ 2012-10-04  0:43 UTC (permalink / raw)
  To: bhutchings; +Cc: haicheng.li, netdev, tshimizu818, linux-kernel, haicheng.lee

From: Ben Hutchings <bhutchings@solarflare.com>
Date: Wed, 3 Oct 2012 22:45:10 +0100

> I thought of it as being a peripheral feature (which most Solarflare
> hardware doesn't implement) so it made sense for SFC_PTP to be optional
> like SFC_MTD and so on.  But I'm quite happy to use a select instead, if
> you want that to be the convention for all drivers implementing PHC.

I think that consistency might trump those conerns you mentioned, at
least in this case.

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 1/2] Fix build error caused by broken PCH_PTP module dependency.
  2012-10-04  0:43               ` David Miller
@ 2012-10-16 20:09                 ` Ben Hutchings
  2012-10-16 20:17                   ` David Miller
  0 siblings, 1 reply; 19+ messages in thread
From: Ben Hutchings @ 2012-10-16 20:09 UTC (permalink / raw)
  To: David Miller, Richard Cochran
  Cc: haicheng.li, netdev, tshimizu818, linux-kernel, haicheng.lee

On Wed, 2012-10-03 at 20:43 -0400, David Miller wrote:
> From: Ben Hutchings <bhutchings@solarflare.com>
> Date: Wed, 3 Oct 2012 22:45:10 +0100
> 
> > I thought of it as being a peripheral feature (which most Solarflare
> > hardware doesn't implement) so it made sense for SFC_PTP to be optional
> > like SFC_MTD and so on.  But I'm quite happy to use a select instead, if
> > you want that to be the convention for all drivers implementing PHC.
> 
> I think that consistency might trump those conerns you mentioned, at
> least in this case.

Currently such kconfig options look like, for example:

config IGB_PTP
        bool "PTP Hardware Clock (PHC)"
        default n
        depends on IGB && EXPERIMENTAL
        select PPS
        select PTP_1588_CLOCK
        ---help---
          Say Y here if you want to use PTP Hardware Clock (PHC) in the
          driver.  Only the basic clock operations have been implemented.

          Every timestamp and clock read operations must consult the
          overflow counter to form a correct time value.

There are a number of problems with this:

1. PTP_1588_CLOCK depends on PPS, so this has to select it as well.
2. PPS and PTP_1588_CLOCK depend on EXPERIMENTAL, so this has to as
   well.
3. It's a boolean, so whatever it selects is built-in, even though the
   driver it relates to may be a module.

I think the various kconfig options should be changed as follows:

1. Only PTP_1588_CLOCK selects PPS.
2. Nothing depends on EXPERIMENTAL.  (This stuff has been in for 18
   months and it's even being backported to RHEL 6 now.)
3. Either:
   (a) The per-driver PHC options select nothing, and the driver options
       do e.g.:
	select PTP_1588_CLOCK if IGB_PTP
   (b) The per-driver PHC options are removed and the driver options do:
	select PTP_1588_CLOCK
       (i.e. PHC support is unconditional)

Any objections to this, or preference for (a) vs (b)?

Ben.

-- 
Ben Hutchings, Staff Engineer, Solarflare
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 1/2] Fix build error caused by broken PCH_PTP module dependency.
  2012-10-16 20:09                 ` Ben Hutchings
@ 2012-10-16 20:17                   ` David Miller
  2012-10-16 21:08                     ` Keller, Jacob E
  0 siblings, 1 reply; 19+ messages in thread
From: David Miller @ 2012-10-16 20:17 UTC (permalink / raw)
  To: bhutchings
  Cc: richardcochran, haicheng.li, netdev, tshimizu818, linux-kernel,
	haicheng.lee

From: Ben Hutchings <bhutchings@solarflare.com>
Date: Tue, 16 Oct 2012 21:09:27 +0100

> I think the various kconfig options should be changed as follows:
> 
> 1. Only PTP_1588_CLOCK selects PPS.
> 2. Nothing depends on EXPERIMENTAL.  (This stuff has been in for 18
>    months and it's even being backported to RHEL 6 now.)
> 3. Either:
>    (a) The per-driver PHC options select nothing, and the driver options
>        do e.g.:
> 	select PTP_1588_CLOCK if IGB_PTP
>    (b) The per-driver PHC options are removed and the driver options do:
> 	select PTP_1588_CLOCK
>        (i.e. PHC support is unconditional)
> 
> Any objections to this, or preference for (a) vs (b)?

No objections, prefer (b).

^ permalink raw reply	[flat|nested] 19+ messages in thread

* RE: [PATCH 1/2] Fix build error caused by broken PCH_PTP module dependency.
  2012-10-16 20:17                   ` David Miller
@ 2012-10-16 21:08                     ` Keller, Jacob E
  0 siblings, 0 replies; 19+ messages in thread
From: Keller, Jacob E @ 2012-10-16 21:08 UTC (permalink / raw)
  To: David Miller, bhutchings
  Cc: richardcochran, haicheng.li, netdev, tshimizu818, linux-kernel,
	haicheng.lee

> -----Original Message-----
> From: netdev-owner@vger.kernel.org [mailto:netdev-owner@vger.kernel.org]
> On Behalf Of David Miller
> Sent: Tuesday, October 16, 2012 1:17 PM
> To: bhutchings@solarflare.com
> Cc: richardcochran@gmail.com; haicheng.li@linux.intel.com;
> netdev@vger.kernel.org; tshimizu818@gmail.com; linux-
> kernel@vger.kernel.org; haicheng.lee@gmail.com
> Subject: Re: [PATCH 1/2] Fix build error caused by broken PCH_PTP module
> dependency.
> 
> From: Ben Hutchings <bhutchings@solarflare.com>
> Date: Tue, 16 Oct 2012 21:09:27 +0100
> 
> > I think the various kconfig options should be changed as follows:
> >
> > 1. Only PTP_1588_CLOCK selects PPS.
> > 2. Nothing depends on EXPERIMENTAL.  (This stuff has been in for 18
> >    months and it's even being backported to RHEL 6 now.)
> > 3. Either:
> >    (a) The per-driver PHC options select nothing, and the driver options
> >        do e.g.:
> > 	select PTP_1588_CLOCK if IGB_PTP
> >    (b) The per-driver PHC options are removed and the driver options do:
> > 	select PTP_1588_CLOCK
> >        (i.e. PHC support is unconditional)
> >
> > Any objections to this, or preference for (a) vs (b)?
> 
> No objections, prefer (b).

No objections here, I also prefer (b). The feature shouldn't have much impact unless enabled via hwtstamp_ioctl, and it drastically reduces requirement on end-user needing to enable PHC support.

- Jake

> --
> To unsubscribe from this list: send the line "unsubscribe netdev" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2012-10-16 21:08 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-09-24  7:20 [PATCH 1/2] Fix build error caused by broken PCH_PTP module dependency Haicheng Li
2012-09-24  7:22 ` [PATCH 2/2] Fix wrong description in PTP_1588_CLOCK_PCH help info Haicheng Li
2012-09-24  8:14   ` [Updated PATCH 2/2] Fix a typo in PTP_1588_CLOCK_PCH Kconfig " Haicheng Li
2012-09-25  0:24   ` [PATCH " Haicheng Li
2012-09-27 22:06     ` David Miller
2012-09-28  6:44       ` Haicheng Li
2012-09-24  8:08 ` [Updated PATCH 1/2] Fix build error caused by broken PCH_PTP module dependency Haicheng Li
2012-09-24 17:46 ` [PATCH " David Miller
2012-09-25  0:23 ` Haicheng Li
2012-09-27 22:09   ` David Miller
2012-09-28  6:41     ` Haicheng Li
2012-09-28  6:46       ` David Miller
2012-09-28  6:57         ` Haicheng Li
2012-10-03  2:22           ` David Miller
2012-10-03 21:45             ` Ben Hutchings
2012-10-04  0:43               ` David Miller
2012-10-16 20:09                 ` Ben Hutchings
2012-10-16 20:17                   ` David Miller
2012-10-16 21:08                     ` Keller, Jacob E

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).