Re: [PATCH v3 4/4] pinctrl: qcom: Make the target processor value configurable
On Tue 02 Sep 06:13 PDT 2014, Georgi Djakov wrote: > Currently the value used for specify that interrupts from the gpio should > be routed to the application processor is hardcoded for all Qualcomm SoCs. > But the new APQ8084 SoC uses a different value. To resolve this, we make > this value configurable for each SoC. For all existing SoCs we continue > to use the current value, and only for APQ8084 we use the new value. > > Suggested-by: Bjorn Andersson > Signed-off-by: Georgi Djakov Looks good. Acked-by: Bjorn Andersson > --- > drivers/pinctrl/qcom/pinctrl-apq8064.c |2 ++ > drivers/pinctrl/qcom/pinctrl-apq8084.c |2 ++ > drivers/pinctrl/qcom/pinctrl-ipq8064.c |2 ++ > drivers/pinctrl/qcom/pinctrl-msm.c |4 +--- > drivers/pinctrl/qcom/pinctrl-msm.h |3 +++ > drivers/pinctrl/qcom/pinctrl-msm8960.c |2 ++ > drivers/pinctrl/qcom/pinctrl-msm8x74.c |2 ++ > 7 files changed, 14 insertions(+), 3 deletions(-) > > diff --git a/drivers/pinctrl/qcom/pinctrl-apq8064.c > b/drivers/pinctrl/qcom/pinctrl-apq8064.c > index feb6f15..f877aed 100644 > --- a/drivers/pinctrl/qcom/pinctrl-apq8064.c > +++ b/drivers/pinctrl/qcom/pinctrl-apq8064.c > @@ -258,6 +258,7 @@ static const unsigned int sdc3_data_pins[] = { 95 }; > .intr_status_bit = 0, \ > .intr_ack_high = 1, \ > .intr_target_bit = 0, \ > + .intr_target_kpss_val = 4, \ > .intr_raw_status_bit = 3, \ > .intr_polarity_bit = 1, \ > .intr_detection_bit = 2,\ > @@ -283,6 +284,7 @@ static const unsigned int sdc3_data_pins[] = { 95 }; > .intr_enable_bit = -1, \ > .intr_status_bit = -1, \ > .intr_target_bit = -1, \ > + .intr_target_kpss_val = -1, \ > .intr_raw_status_bit = -1, \ > .intr_polarity_bit = -1,\ > .intr_detection_bit = -1, \ > diff --git a/drivers/pinctrl/qcom/pinctrl-apq8084.c > b/drivers/pinctrl/qcom/pinctrl-apq8084.c > index 5362959..138cbf6 100644 > --- a/drivers/pinctrl/qcom/pinctrl-apq8084.c > +++ b/drivers/pinctrl/qcom/pinctrl-apq8084.c > @@ -371,6 +371,7 @@ static const unsigned int sdc2_data_pins[] = { 152 }; > .intr_status_bit = 0, \ > .intr_ack_high = 0, \ > .intr_target_bit = 5, \ > + .intr_target_kpss_val = 3, \ > .intr_raw_status_bit = 4, \ > .intr_polarity_bit = 1, \ > .intr_detection_bit = 2,\ > @@ -396,6 +397,7 @@ static const unsigned int sdc2_data_pins[] = { 152 }; > .intr_enable_bit = -1, \ > .intr_status_bit = -1, \ > .intr_target_bit = -1, \ > + .intr_target_kpss_val = -1, \ > .intr_raw_status_bit = -1, \ > .intr_polarity_bit = -1,\ > .intr_detection_bit = -1, \ > diff --git a/drivers/pinctrl/qcom/pinctrl-ipq8064.c > b/drivers/pinctrl/qcom/pinctrl-ipq8064.c > index 767cf11..81f49a9 100644 > --- a/drivers/pinctrl/qcom/pinctrl-ipq8064.c > +++ b/drivers/pinctrl/qcom/pinctrl-ipq8064.c > @@ -211,6 +211,7 @@ static const unsigned int sdc3_data_pins[] = { 71 }; > .intr_status_bit = 0, \ > .intr_ack_high = 1, \ > .intr_target_bit = 0, \ > + .intr_target_kpss_val = 4, \ > .intr_raw_status_bit = 3, \ > .intr_polarity_bit = 1, \ > .intr_detection_bit = 2,\ > @@ -236,6 +237,7 @@ static const unsigned int sdc3_data_pins[] = { 71 }; > .intr_enable_bit = -1, \ > .intr_status_bit = -1, \ > .intr_target_bit = -1, \ > + .intr_target_kpss_val = -1, \ > .intr_raw_status_bit = -1, \ > .intr_polarity_bit = -1,\ > .intr_detection_bit = -1, \ > diff --git a/drivers/pinctrl/qcom/pinctrl-msm.c > b/drivers/pinctrl/qcom/pinctrl-msm.c > index 2738108..592c6fc 100644 > --- a/drivers/pinctrl/qcom/pinctrl-msm.c > +++ b/drivers/pinctrl/qcom/pinctrl-msm.c > @@ -649,8 +649,6 @@ static void msm_gpio_irq_ack(struct irq_data *d) > spin_unlock_irqrestore(>lock, flags); > } > > -#define INTR_TARGET_PROC_APPS4 > - > static int msm_gpio_irq_set_type(struct irq_data *d, unsigned int type) > { > struct
[PATCH v3 4/4] pinctrl: qcom: Make the target processor value configurable
Currently the value used for specify that interrupts from the gpio should be routed to the application processor is hardcoded for all Qualcomm SoCs. But the new APQ8084 SoC uses a different value. To resolve this, we make this value configurable for each SoC. For all existing SoCs we continue to use the current value, and only for APQ8084 we use the new value. Suggested-by: Bjorn Andersson Signed-off-by: Georgi Djakov --- drivers/pinctrl/qcom/pinctrl-apq8064.c |2 ++ drivers/pinctrl/qcom/pinctrl-apq8084.c |2 ++ drivers/pinctrl/qcom/pinctrl-ipq8064.c |2 ++ drivers/pinctrl/qcom/pinctrl-msm.c |4 +--- drivers/pinctrl/qcom/pinctrl-msm.h |3 +++ drivers/pinctrl/qcom/pinctrl-msm8960.c |2 ++ drivers/pinctrl/qcom/pinctrl-msm8x74.c |2 ++ 7 files changed, 14 insertions(+), 3 deletions(-) diff --git a/drivers/pinctrl/qcom/pinctrl-apq8064.c b/drivers/pinctrl/qcom/pinctrl-apq8064.c index feb6f15..f877aed 100644 --- a/drivers/pinctrl/qcom/pinctrl-apq8064.c +++ b/drivers/pinctrl/qcom/pinctrl-apq8064.c @@ -258,6 +258,7 @@ static const unsigned int sdc3_data_pins[] = { 95 }; .intr_status_bit = 0, \ .intr_ack_high = 1, \ .intr_target_bit = 0, \ + .intr_target_kpss_val = 4, \ .intr_raw_status_bit = 3, \ .intr_polarity_bit = 1, \ .intr_detection_bit = 2,\ @@ -283,6 +284,7 @@ static const unsigned int sdc3_data_pins[] = { 95 }; .intr_enable_bit = -1, \ .intr_status_bit = -1, \ .intr_target_bit = -1, \ + .intr_target_kpss_val = -1, \ .intr_raw_status_bit = -1, \ .intr_polarity_bit = -1,\ .intr_detection_bit = -1, \ diff --git a/drivers/pinctrl/qcom/pinctrl-apq8084.c b/drivers/pinctrl/qcom/pinctrl-apq8084.c index 5362959..138cbf6 100644 --- a/drivers/pinctrl/qcom/pinctrl-apq8084.c +++ b/drivers/pinctrl/qcom/pinctrl-apq8084.c @@ -371,6 +371,7 @@ static const unsigned int sdc2_data_pins[] = { 152 }; .intr_status_bit = 0, \ .intr_ack_high = 0, \ .intr_target_bit = 5, \ + .intr_target_kpss_val = 3, \ .intr_raw_status_bit = 4, \ .intr_polarity_bit = 1, \ .intr_detection_bit = 2,\ @@ -396,6 +397,7 @@ static const unsigned int sdc2_data_pins[] = { 152 }; .intr_enable_bit = -1, \ .intr_status_bit = -1, \ .intr_target_bit = -1, \ + .intr_target_kpss_val = -1, \ .intr_raw_status_bit = -1, \ .intr_polarity_bit = -1,\ .intr_detection_bit = -1, \ diff --git a/drivers/pinctrl/qcom/pinctrl-ipq8064.c b/drivers/pinctrl/qcom/pinctrl-ipq8064.c index 767cf11..81f49a9 100644 --- a/drivers/pinctrl/qcom/pinctrl-ipq8064.c +++ b/drivers/pinctrl/qcom/pinctrl-ipq8064.c @@ -211,6 +211,7 @@ static const unsigned int sdc3_data_pins[] = { 71 }; .intr_status_bit = 0, \ .intr_ack_high = 1, \ .intr_target_bit = 0, \ + .intr_target_kpss_val = 4, \ .intr_raw_status_bit = 3, \ .intr_polarity_bit = 1, \ .intr_detection_bit = 2,\ @@ -236,6 +237,7 @@ static const unsigned int sdc3_data_pins[] = { 71 }; .intr_enable_bit = -1, \ .intr_status_bit = -1, \ .intr_target_bit = -1, \ + .intr_target_kpss_val = -1, \ .intr_raw_status_bit = -1, \ .intr_polarity_bit = -1,\ .intr_detection_bit = -1, \ diff --git a/drivers/pinctrl/qcom/pinctrl-msm.c b/drivers/pinctrl/qcom/pinctrl-msm.c index 2738108..592c6fc 100644 --- a/drivers/pinctrl/qcom/pinctrl-msm.c +++ b/drivers/pinctrl/qcom/pinctrl-msm.c @@ -649,8 +649,6 @@ static void msm_gpio_irq_ack(struct irq_data *d) spin_unlock_irqrestore(>lock, flags); } -#define INTR_TARGET_PROC_APPS4 - static int msm_gpio_irq_set_type(struct irq_data *d, unsigned int type) { struct gpio_chip *gc = irq_data_get_irq_chip_data(d); @@ -674,7 +672,7 @@ static int msm_gpio_irq_set_type(struct irq_data *d, unsigned int type) /* Route interrupts to application cpu */
[PATCH v3 4/4] pinctrl: qcom: Make the target processor value configurable
Currently the value used for specify that interrupts from the gpio should be routed to the application processor is hardcoded for all Qualcomm SoCs. But the new APQ8084 SoC uses a different value. To resolve this, we make this value configurable for each SoC. For all existing SoCs we continue to use the current value, and only for APQ8084 we use the new value. Suggested-by: Bjorn Andersson bjorn.anders...@sonymobile.com Signed-off-by: Georgi Djakov gdja...@mm-sol.com --- drivers/pinctrl/qcom/pinctrl-apq8064.c |2 ++ drivers/pinctrl/qcom/pinctrl-apq8084.c |2 ++ drivers/pinctrl/qcom/pinctrl-ipq8064.c |2 ++ drivers/pinctrl/qcom/pinctrl-msm.c |4 +--- drivers/pinctrl/qcom/pinctrl-msm.h |3 +++ drivers/pinctrl/qcom/pinctrl-msm8960.c |2 ++ drivers/pinctrl/qcom/pinctrl-msm8x74.c |2 ++ 7 files changed, 14 insertions(+), 3 deletions(-) diff --git a/drivers/pinctrl/qcom/pinctrl-apq8064.c b/drivers/pinctrl/qcom/pinctrl-apq8064.c index feb6f15..f877aed 100644 --- a/drivers/pinctrl/qcom/pinctrl-apq8064.c +++ b/drivers/pinctrl/qcom/pinctrl-apq8064.c @@ -258,6 +258,7 @@ static const unsigned int sdc3_data_pins[] = { 95 }; .intr_status_bit = 0, \ .intr_ack_high = 1, \ .intr_target_bit = 0, \ + .intr_target_kpss_val = 4, \ .intr_raw_status_bit = 3, \ .intr_polarity_bit = 1, \ .intr_detection_bit = 2,\ @@ -283,6 +284,7 @@ static const unsigned int sdc3_data_pins[] = { 95 }; .intr_enable_bit = -1, \ .intr_status_bit = -1, \ .intr_target_bit = -1, \ + .intr_target_kpss_val = -1, \ .intr_raw_status_bit = -1, \ .intr_polarity_bit = -1,\ .intr_detection_bit = -1, \ diff --git a/drivers/pinctrl/qcom/pinctrl-apq8084.c b/drivers/pinctrl/qcom/pinctrl-apq8084.c index 5362959..138cbf6 100644 --- a/drivers/pinctrl/qcom/pinctrl-apq8084.c +++ b/drivers/pinctrl/qcom/pinctrl-apq8084.c @@ -371,6 +371,7 @@ static const unsigned int sdc2_data_pins[] = { 152 }; .intr_status_bit = 0, \ .intr_ack_high = 0, \ .intr_target_bit = 5, \ + .intr_target_kpss_val = 3, \ .intr_raw_status_bit = 4, \ .intr_polarity_bit = 1, \ .intr_detection_bit = 2,\ @@ -396,6 +397,7 @@ static const unsigned int sdc2_data_pins[] = { 152 }; .intr_enable_bit = -1, \ .intr_status_bit = -1, \ .intr_target_bit = -1, \ + .intr_target_kpss_val = -1, \ .intr_raw_status_bit = -1, \ .intr_polarity_bit = -1,\ .intr_detection_bit = -1, \ diff --git a/drivers/pinctrl/qcom/pinctrl-ipq8064.c b/drivers/pinctrl/qcom/pinctrl-ipq8064.c index 767cf11..81f49a9 100644 --- a/drivers/pinctrl/qcom/pinctrl-ipq8064.c +++ b/drivers/pinctrl/qcom/pinctrl-ipq8064.c @@ -211,6 +211,7 @@ static const unsigned int sdc3_data_pins[] = { 71 }; .intr_status_bit = 0, \ .intr_ack_high = 1, \ .intr_target_bit = 0, \ + .intr_target_kpss_val = 4, \ .intr_raw_status_bit = 3, \ .intr_polarity_bit = 1, \ .intr_detection_bit = 2,\ @@ -236,6 +237,7 @@ static const unsigned int sdc3_data_pins[] = { 71 }; .intr_enable_bit = -1, \ .intr_status_bit = -1, \ .intr_target_bit = -1, \ + .intr_target_kpss_val = -1, \ .intr_raw_status_bit = -1, \ .intr_polarity_bit = -1,\ .intr_detection_bit = -1, \ diff --git a/drivers/pinctrl/qcom/pinctrl-msm.c b/drivers/pinctrl/qcom/pinctrl-msm.c index 2738108..592c6fc 100644 --- a/drivers/pinctrl/qcom/pinctrl-msm.c +++ b/drivers/pinctrl/qcom/pinctrl-msm.c @@ -649,8 +649,6 @@ static void msm_gpio_irq_ack(struct irq_data *d) spin_unlock_irqrestore(pctrl-lock, flags); } -#define INTR_TARGET_PROC_APPS4 - static int msm_gpio_irq_set_type(struct irq_data *d, unsigned int type) { struct gpio_chip *gc = irq_data_get_irq_chip_data(d); @@ -674,7 +672,7 @@ static int msm_gpio_irq_set_type(struct irq_data *d, unsigned int type)
Re: [PATCH v3 4/4] pinctrl: qcom: Make the target processor value configurable
On Tue 02 Sep 06:13 PDT 2014, Georgi Djakov wrote: Currently the value used for specify that interrupts from the gpio should be routed to the application processor is hardcoded for all Qualcomm SoCs. But the new APQ8084 SoC uses a different value. To resolve this, we make this value configurable for each SoC. For all existing SoCs we continue to use the current value, and only for APQ8084 we use the new value. Suggested-by: Bjorn Andersson bjorn.anders...@sonymobile.com Signed-off-by: Georgi Djakov gdja...@mm-sol.com Looks good. Acked-by: Bjorn Andersson bjorn.anders...@sonymobile.com --- drivers/pinctrl/qcom/pinctrl-apq8064.c |2 ++ drivers/pinctrl/qcom/pinctrl-apq8084.c |2 ++ drivers/pinctrl/qcom/pinctrl-ipq8064.c |2 ++ drivers/pinctrl/qcom/pinctrl-msm.c |4 +--- drivers/pinctrl/qcom/pinctrl-msm.h |3 +++ drivers/pinctrl/qcom/pinctrl-msm8960.c |2 ++ drivers/pinctrl/qcom/pinctrl-msm8x74.c |2 ++ 7 files changed, 14 insertions(+), 3 deletions(-) diff --git a/drivers/pinctrl/qcom/pinctrl-apq8064.c b/drivers/pinctrl/qcom/pinctrl-apq8064.c index feb6f15..f877aed 100644 --- a/drivers/pinctrl/qcom/pinctrl-apq8064.c +++ b/drivers/pinctrl/qcom/pinctrl-apq8064.c @@ -258,6 +258,7 @@ static const unsigned int sdc3_data_pins[] = { 95 }; .intr_status_bit = 0, \ .intr_ack_high = 1, \ .intr_target_bit = 0, \ + .intr_target_kpss_val = 4, \ .intr_raw_status_bit = 3, \ .intr_polarity_bit = 1, \ .intr_detection_bit = 2,\ @@ -283,6 +284,7 @@ static const unsigned int sdc3_data_pins[] = { 95 }; .intr_enable_bit = -1, \ .intr_status_bit = -1, \ .intr_target_bit = -1, \ + .intr_target_kpss_val = -1, \ .intr_raw_status_bit = -1, \ .intr_polarity_bit = -1,\ .intr_detection_bit = -1, \ diff --git a/drivers/pinctrl/qcom/pinctrl-apq8084.c b/drivers/pinctrl/qcom/pinctrl-apq8084.c index 5362959..138cbf6 100644 --- a/drivers/pinctrl/qcom/pinctrl-apq8084.c +++ b/drivers/pinctrl/qcom/pinctrl-apq8084.c @@ -371,6 +371,7 @@ static const unsigned int sdc2_data_pins[] = { 152 }; .intr_status_bit = 0, \ .intr_ack_high = 0, \ .intr_target_bit = 5, \ + .intr_target_kpss_val = 3, \ .intr_raw_status_bit = 4, \ .intr_polarity_bit = 1, \ .intr_detection_bit = 2,\ @@ -396,6 +397,7 @@ static const unsigned int sdc2_data_pins[] = { 152 }; .intr_enable_bit = -1, \ .intr_status_bit = -1, \ .intr_target_bit = -1, \ + .intr_target_kpss_val = -1, \ .intr_raw_status_bit = -1, \ .intr_polarity_bit = -1,\ .intr_detection_bit = -1, \ diff --git a/drivers/pinctrl/qcom/pinctrl-ipq8064.c b/drivers/pinctrl/qcom/pinctrl-ipq8064.c index 767cf11..81f49a9 100644 --- a/drivers/pinctrl/qcom/pinctrl-ipq8064.c +++ b/drivers/pinctrl/qcom/pinctrl-ipq8064.c @@ -211,6 +211,7 @@ static const unsigned int sdc3_data_pins[] = { 71 }; .intr_status_bit = 0, \ .intr_ack_high = 1, \ .intr_target_bit = 0, \ + .intr_target_kpss_val = 4, \ .intr_raw_status_bit = 3, \ .intr_polarity_bit = 1, \ .intr_detection_bit = 2,\ @@ -236,6 +237,7 @@ static const unsigned int sdc3_data_pins[] = { 71 }; .intr_enable_bit = -1, \ .intr_status_bit = -1, \ .intr_target_bit = -1, \ + .intr_target_kpss_val = -1, \ .intr_raw_status_bit = -1, \ .intr_polarity_bit = -1,\ .intr_detection_bit = -1, \ diff --git a/drivers/pinctrl/qcom/pinctrl-msm.c b/drivers/pinctrl/qcom/pinctrl-msm.c index 2738108..592c6fc 100644 --- a/drivers/pinctrl/qcom/pinctrl-msm.c +++ b/drivers/pinctrl/qcom/pinctrl-msm.c @@ -649,8 +649,6 @@ static void msm_gpio_irq_ack(struct irq_data *d) spin_unlock_irqrestore(pctrl-lock, flags); } -#define INTR_TARGET_PROC_APPS4 - static int msm_gpio_irq_set_type(struct irq_data *d, unsigned int type) { struct gpio_chip *gc =