[PATCH] freescale:Make the function ucc_geth_tx have a return type of void

2016-03-06 Thread Nicholas Krause
This makes the function ucc_geth_tx have a return type of void now
due to this particular function always completing without ever
executing a non recoverable error.

Signed-off-by: Nicholas Krause <xerofo...@gmail.com>
---
 drivers/net/ethernet/freescale/ucc_geth.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/freescale/ucc_geth.c 
b/drivers/net/ethernet/freescale/ucc_geth.c
index 78ebd73..70f3045 100644
--- a/drivers/net/ethernet/freescale/ucc_geth.c
+++ b/drivers/net/ethernet/freescale/ucc_geth.c
@@ -3226,7 +3226,7 @@ static int ucc_geth_rx(struct ucc_geth_private *ugeth, u8 
rxQ, int rx_work_limit
return howmany;
 }
 
-static int ucc_geth_tx(struct net_device *dev, u8 txQ)
+static void ucc_geth_tx(struct net_device *dev, u8 txQ)
 {
/* Start from the next BD that should be filled */
struct ucc_geth_private *ugeth = netdev_priv(dev);
@@ -3269,7 +3269,6 @@ static int ucc_geth_tx(struct net_device *dev, u8 txQ)
bd_status = in_be32((u32 __iomem *)bd);
}
ugeth->confBd[txQ] = bd;
-   return 0;
 }
 
 static int ucc_geth_poll(struct napi_struct *napi, int budget)
-- 
2.1.4

___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

[PATCH RESEND] kvm:powerpc:Fix incorrect return statement in the function mpic_set_default_irq_routing

2016-02-17 Thread Nicholas Krause
This fixes the incorrect return statement in the function
mpic_set_default_irq_routing from always returning zero
to signal success to this function's caller to instead
return the return value of kvm_set_irq_routing as this
function can fail and we need to correctly signal the
caller of mpic_set_default_irq_routing when the call
to this particular function has failed.

Signed-off-by: Nicholas Krause <xerofo...@gmail.com>
---
 arch/powerpc/kvm/mpic.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/arch/powerpc/kvm/mpic.c b/arch/powerpc/kvm/mpic.c
index 6249cdc..b14b85a 100644
--- a/arch/powerpc/kvm/mpic.c
+++ b/arch/powerpc/kvm/mpic.c
@@ -1641,16 +1641,17 @@ static void mpic_destroy(struct kvm_device *dev)
 static int mpic_set_default_irq_routing(struct openpic *opp)
 {
struct kvm_irq_routing_entry *routing;
+   int ret;
 
/* Create a nop default map, so that dereferencing it still works */
routing = kzalloc((sizeof(*routing)), GFP_KERNEL);
if (!routing)
return -ENOMEM;
 
-   kvm_set_irq_routing(opp->kvm, routing, 0, 0);
+   ret = kvm_set_irq_routing(opp->kvm, routing, 0, 0);
 
kfree(routing);
-   return 0;
+   return ret;
 }
 
 static int mpic_create(struct kvm_device *dev, u32 type)
-- 
2.1.4

___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

[PATCH RESEND] kvm:powerpc:Fix incorrect return statement in the function mpic_set_default_irq_routing

2016-01-11 Thread Nicholas Krause
This fixes the incorrect return statement in the function
mpic_set_default_irq_routing from always returning zero
to signal success to this function's caller to instead
return the return value of kvm_set_irq_routing as this
function can fail and we need to correctly signal the
caller of mpic_set_default_irq_routing when the call
to this particular function has failed.

Signed-off-by: Nicholas Krause <xerofo...@gmail.com>
---
 arch/powerpc/kvm/mpic.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/arch/powerpc/kvm/mpic.c b/arch/powerpc/kvm/mpic.c
index 6249cdc..b14b85a 100644
--- a/arch/powerpc/kvm/mpic.c
+++ b/arch/powerpc/kvm/mpic.c
@@ -1641,16 +1641,17 @@ static void mpic_destroy(struct kvm_device *dev)
 static int mpic_set_default_irq_routing(struct openpic *opp)
 {
struct kvm_irq_routing_entry *routing;
+   int ret;
 
/* Create a nop default map, so that dereferencing it still works */
routing = kzalloc((sizeof(*routing)), GFP_KERNEL);
if (!routing)
return -ENOMEM;
 
-   kvm_set_irq_routing(opp->kvm, routing, 0, 0);
+   ret = kvm_set_irq_routing(opp->kvm, routing, 0, 0);
 
kfree(routing);
-   return 0;
+   return ret;
 }
 
 static int mpic_create(struct kvm_device *dev, u32 type)
-- 
2.1.4

___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

[PATCH] kvm:powerpc:Fix return statements for wrapper functions in the file book3s_64_mmu_hv.c

2015-08-10 Thread Nicholas Krause
This fixes the wrapper functions kvm_umap_hva_hv and the function
kvm_unmap_hav_range_hv to return the return value of the function
kvm_handle_hva or kvm_handle_hva_range that they are wrapped to
call internally rather then always making the caller of these
wrapper functions think they always run successfully by returning
the value of zero directly.

Signed-off-by: Nicholas Krause xerofo...@gmail.com
---
 arch/powerpc/kvm/book3s_64_mmu_hv.c | 6 ++
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/arch/powerpc/kvm/book3s_64_mmu_hv.c 
b/arch/powerpc/kvm/book3s_64_mmu_hv.c
index dab68b7..0905c8f 100644
--- a/arch/powerpc/kvm/book3s_64_mmu_hv.c
+++ b/arch/powerpc/kvm/book3s_64_mmu_hv.c
@@ -774,14 +774,12 @@ static int kvm_unmap_rmapp(struct kvm *kvm, unsigned long 
*rmapp,
 
 int kvm_unmap_hva_hv(struct kvm *kvm, unsigned long hva)
 {
-   kvm_handle_hva(kvm, hva, kvm_unmap_rmapp);
-   return 0;
+   return kvm_handle_hva(kvm, hva, kvm_unmap_rmapp);
 }
 
 int kvm_unmap_hva_range_hv(struct kvm *kvm, unsigned long start, unsigned long 
end)
 {
-   kvm_handle_hva_range(kvm, start, end, kvm_unmap_rmapp);
-   return 0;
+   return kvm_handle_hva_range(kvm, start, end, kvm_unmap_rmapp);
 }
 
 void kvmppc_core_flush_memslot_hv(struct kvm *kvm,
-- 
2.1.4

___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

[PATCH] kvm:powerpc:Fix error handling in the function mpic_set_default_irq_routing

2015-08-07 Thread Nicholas Krause
This fixes error handling in the function mpic_set_default_irq_routing
by checking if the call to the function kvm_set_irq_routing has failed
and if so exit immediately to the caller by first freeing the structure
pointer routing in order to avoid a memory leak before returning the error
code returned by the call to mpic_set_default_irq_routing.

Signed-off-by: Nicholas Krause xerofo...@gmail.com
---
 arch/powerpc/kvm/mpic.c | 7 ++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/arch/powerpc/kvm/mpic.c b/arch/powerpc/kvm/mpic.c
index 6249cdc..7b1375a 100644
--- a/arch/powerpc/kvm/mpic.c
+++ b/arch/powerpc/kvm/mpic.c
@@ -1641,13 +1641,18 @@ static void mpic_destroy(struct kvm_device *dev)
 static int mpic_set_default_irq_routing(struct openpic *opp)
 {
struct kvm_irq_routing_entry *routing;
+   int ret;
 
/* Create a nop default map, so that dereferencing it still works */
routing = kzalloc((sizeof(*routing)), GFP_KERNEL);
if (!routing)
return -ENOMEM;
 
-   kvm_set_irq_routing(opp-kvm, routing, 0, 0);
+   ret = kvm_set_irq_routing(opp-kvm, routing, 0, 0);
+   if (ret) {
+   kfree(routing);
+   return ret;
+   }
 
kfree(routing);
return 0;
-- 
2.1.4

___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

[PATCH] kvm:powerpc:Fix incorrect return statement in the function mpic_set_default_irq_routing

2015-08-07 Thread Nicholas Krause
This fixes the incorrect return statement in the function
mpic_set_default_irq_routing from always returning zero
to signal success to this function's caller to instead
return the return value of kvm_set_irq_routing as this
function can fail and we need to correctly signal the
caller of mpic_set_default_irq_routing when the call
to this particular function has failed.

Signed-off-by: Nicholas Krause xerofo...@gmail.com
---
 arch/powerpc/kvm/mpic.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/arch/powerpc/kvm/mpic.c b/arch/powerpc/kvm/mpic.c
index 6249cdc..b14b85a 100644
--- a/arch/powerpc/kvm/mpic.c
+++ b/arch/powerpc/kvm/mpic.c
@@ -1641,16 +1641,17 @@ static void mpic_destroy(struct kvm_device *dev)
 static int mpic_set_default_irq_routing(struct openpic *opp)
 {
struct kvm_irq_routing_entry *routing;
+   int ret;
 
/* Create a nop default map, so that dereferencing it still works */
routing = kzalloc((sizeof(*routing)), GFP_KERNEL);
if (!routing)
return -ENOMEM;
 
-   kvm_set_irq_routing(opp-kvm, routing, 0, 0);
+   ret = kvm_set_irq_routing(opp-kvm, routing, 0, 0);
 
kfree(routing);
-   return 0;
+   return ret;
 }
 
 static int mpic_create(struct kvm_device *dev, u32 type)
-- 
2.1.4

___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

[PATCH] kvm:powerpc:Fix error handling in the function mpic_set_default_irq_routing

2015-08-06 Thread Nicholas Krause
This fixes error handling in the function mpic_set_default_irq_routing
by checking if the call to the function kvm_set_irq_routing has failed
and if so exit immediately to the caller by returning the error code
returned by the call to mpic_set_default_irq_routing.

Signed-off-by: Nicholas Krause xerofo...@gmail.com
---
 arch/powerpc/kvm/mpic.c | 5 -
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/arch/powerpc/kvm/mpic.c b/arch/powerpc/kvm/mpic.c
index 6249cdc..5a18859 100644
--- a/arch/powerpc/kvm/mpic.c
+++ b/arch/powerpc/kvm/mpic.c
@@ -1641,13 +1641,16 @@ static void mpic_destroy(struct kvm_device *dev)
 static int mpic_set_default_irq_routing(struct openpic *opp)
 {
struct kvm_irq_routing_entry *routing;
+   int ret;
 
/* Create a nop default map, so that dereferencing it still works */
routing = kzalloc((sizeof(*routing)), GFP_KERNEL);
if (!routing)
return -ENOMEM;
 
-   kvm_set_irq_routing(opp-kvm, routing, 0, 0);
+   ret = kvm_set_irq_routing(opp-kvm, routing, 0, 0);
+   if (ret)
+   return ret;
 
kfree(routing);
return 0;
-- 
2.1.4

___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

[PATCH] freescale:Make receive and transmit functions have a return type of void

2015-07-07 Thread Nicholas Krause
This makes various receive and transmit functions that always run
successfully to be declared to have a return of void for the driver
file, ucc_geth.c.

Signed-off-by: Nicholas Krause xerofo...@gmail.com
---
 drivers/net/ethernet/freescale/ucc_geth.c | 12 +++-
 1 file changed, 3 insertions(+), 9 deletions(-)

diff --git a/drivers/net/ethernet/freescale/ucc_geth.c 
b/drivers/net/ethernet/freescale/ucc_geth.c
index 4dd40e0..78ebd73 100644
--- a/drivers/net/ethernet/freescale/ucc_geth.c
+++ b/drivers/net/ethernet/freescale/ucc_geth.c
@@ -1398,7 +1398,7 @@ static int adjust_enet_interface(struct ucc_geth_private 
*ugeth)
return 0;
 }
 
-static int ugeth_graceful_stop_tx(struct ucc_geth_private *ugeth)
+static void ugeth_graceful_stop_tx(struct ucc_geth_private *ugeth)
 {
struct ucc_fast_private *uccf;
u32 cecr_subblock;
@@ -1424,11 +1424,9 @@ static int ugeth_graceful_stop_tx(struct 
ucc_geth_private *ugeth)
} while (!(temp  UCC_GETH_UCCE_GRA)  --i);
 
uccf-stopped_tx = 1;
-
-   return 0;
 }
 
-static int ugeth_graceful_stop_rx(struct ucc_geth_private *ugeth)
+static void ugeth_graceful_stop_rx(struct ucc_geth_private *ugeth)
 {
struct ucc_fast_private *uccf;
u32 cecr_subblock;
@@ -1456,11 +1454,9 @@ static int ugeth_graceful_stop_rx(struct 
ucc_geth_private *ugeth)
} while (!(temp  GRACEFUL_STOP_ACKNOWLEDGE_RX)  --i);
 
uccf-stopped_rx = 1;
-
-   return 0;
 }
 
-static int ugeth_restart_tx(struct ucc_geth_private *ugeth)
+static void ugeth_restart_tx(struct ucc_geth_private *ugeth)
 {
struct ucc_fast_private *uccf;
u32 cecr_subblock;
@@ -1471,8 +1467,6 @@ static int ugeth_restart_tx(struct ucc_geth_private 
*ugeth)
ucc_fast_get_qe_cr_subblock(ugeth-ug_info-uf_info.ucc_num);
qe_issue_cmd(QE_RESTART_TX, cecr_subblock, QE_CR_PROTOCOL_ETHERNET, 0);
uccf-stopped_tx = 0;
-
-   return 0;
 }
 
 static int ugeth_restart_rx(struct ucc_geth_private *ugeth)
-- 
2.1.4

___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

[PATCH] freescale:Make the function ucc_geth_tx have a return type of void

2015-07-07 Thread Nicholas Krause
This makes the function ucc_geth_tx have a return type of void now
due to this particular function always completing without ever
executing a non recoverable error.

Signed-off-by: Nicholas Krause xerofo...@gmail.com
---
 drivers/net/ethernet/freescale/ucc_geth.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/freescale/ucc_geth.c 
b/drivers/net/ethernet/freescale/ucc_geth.c
index 78ebd73..70f3045 100644
--- a/drivers/net/ethernet/freescale/ucc_geth.c
+++ b/drivers/net/ethernet/freescale/ucc_geth.c
@@ -3226,7 +3226,7 @@ static int ucc_geth_rx(struct ucc_geth_private *ugeth, u8 
rxQ, int rx_work_limit
return howmany;
 }
 
-static int ucc_geth_tx(struct net_device *dev, u8 txQ)
+static void ucc_geth_tx(struct net_device *dev, u8 txQ)
 {
/* Start from the next BD that should be filled */
struct ucc_geth_private *ugeth = netdev_priv(dev);
@@ -3269,7 +3269,6 @@ static int ucc_geth_tx(struct net_device *dev, u8 txQ)
bd_status = in_be32((u32 __iomem *)bd);
}
ugeth-confBd[txQ] = bd;
-   return 0;
 }
 
 static int ucc_geth_poll(struct napi_struct *napi, int budget)
-- 
2.1.4

___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

[PATCH] udc:Make various functions have a return type of void in the file fsl_qe_udc.c

2015-06-27 Thread Nicholas Krause
This makes various USB and Endpoint manipulation functions have a
return type of void now due to these particular functions always
running to completion successfully nor their callers putting the
return value when calling one of these functions into a variable
to check/use later in their own intended internal function work.

Signed-off-by: Nicholas Krause xerofo...@gmail.com
---
 drivers/usb/gadget/udc/fsl_qe_udc.c | 36 
 1 file changed, 12 insertions(+), 24 deletions(-)

diff --git a/drivers/usb/gadget/udc/fsl_qe_udc.c 
b/drivers/usb/gadget/udc/fsl_qe_udc.c
index e0822f1..d1e4354 100644
--- a/drivers/usb/gadget/udc/fsl_qe_udc.c
+++ b/drivers/usb/gadget/udc/fsl_qe_udc.c
@@ -143,7 +143,7 @@ static void nuke(struct qe_ep *ep, int status)
  * USB and Endpoint manipulate process, include parameter and register   *
  *---*/
 /* @value: 1--set stall 0--clean stall */
-static int qe_eprx_stall_change(struct qe_ep *ep, int value)
+static void qe_eprx_stall_change(struct qe_ep *ep, int value)
 {
u16 tem_usep;
u8 epnum = ep-epnum;
@@ -157,10 +157,9 @@ static int qe_eprx_stall_change(struct qe_ep *ep, int 
value)
tem_usep |= USB_RHS_IGNORE_OUT;
 
out_be16(udc-usb_regs-usb_usep[epnum], tem_usep);
-   return 0;
 }
 
-static int qe_eptx_stall_change(struct qe_ep *ep, int value)
+static void qe_eptx_stall_change(struct qe_ep *ep, int value)
 {
u16 tem_usep;
u8 epnum = ep-epnum;
@@ -175,19 +174,17 @@ static int qe_eptx_stall_change(struct qe_ep *ep, int 
value)
 
out_be16(udc-usb_regs-usb_usep[epnum], tem_usep);
 
-   return 0;
 }
 
-static int qe_ep0_stall(struct qe_udc *udc)
+static void qe_ep0_stall(struct qe_udc *udc)
 {
qe_eptx_stall_change(udc-eps[0], 1);
qe_eprx_stall_change(udc-eps[0], 1);
udc-ep0_state = WAIT_FOR_SETUP;
udc-ep0_dir = 0;
-   return 0;
 }
 
-static int qe_eprx_nack(struct qe_ep *ep)
+static void qe_eprx_nack(struct qe_ep *ep)
 {
u8 epnum = ep-epnum;
struct qe_udc *udc = ep-udc;
@@ -203,10 +200,9 @@ static int qe_eprx_nack(struct qe_ep *ep)
 
ep-state = EP_STATE_NACK;
}
-   return 0;
 }
 
-static int qe_eprx_normal(struct qe_ep *ep)
+static void qe_eprx_normal(struct qe_ep *ep)
 {
struct qe_udc *udc = ep-udc;
 
@@ -224,10 +220,9 @@ static int qe_eprx_normal(struct qe_ep *ep)
ep-has_data = 0;
}
 
-   return 0;
 }
 
-static int qe_ep_cmd_stoptx(struct qe_ep *ep)
+static void qe_ep_cmd_stoptx(struct qe_ep *ep)
 {
if (ep-udc-soc_type == PORT_CPM)
cpm_command(CPM_USB_STOP_TX | (ep-epnum  CPM_USB_EP_SHIFT),
@@ -236,10 +231,9 @@ static int qe_ep_cmd_stoptx(struct qe_ep *ep)
qe_issue_cmd(QE_USB_STOP_TX, QE_CR_SUBBLOCK_USB,
ep-epnum, 0);
 
-   return 0;
 }
 
-static int qe_ep_cmd_restarttx(struct qe_ep *ep)
+static void qe_ep_cmd_restarttx(struct qe_ep *ep)
 {
if (ep-udc-soc_type == PORT_CPM)
cpm_command(CPM_USB_RESTART_TX | (ep-epnum 
@@ -248,10 +242,9 @@ static int qe_ep_cmd_restarttx(struct qe_ep *ep)
qe_issue_cmd(QE_USB_RESTART_TX, QE_CR_SUBBLOCK_USB,
ep-epnum, 0);
 
-   return 0;
 }
 
-static int qe_ep_flushtxfifo(struct qe_ep *ep)
+static void qe_ep_flushtxfifo(struct qe_ep *ep)
 {
struct qe_udc *udc = ep-udc;
int i;
@@ -268,19 +261,17 @@ static int qe_ep_flushtxfifo(struct qe_ep *ep)
ep-c_txbd = ep-txbase;
ep-n_txbd = ep-txbase;
qe_ep_cmd_restarttx(ep);
-   return 0;
 }
 
-static int qe_ep_filltxfifo(struct qe_ep *ep)
+static void qe_ep_filltxfifo(struct qe_ep *ep)
 {
struct qe_udc *udc = ep-udc;
 
out_8(udc-usb_regs-usb_uscom,
USB_CMD_STR_FIFO | (USB_CMD_EP_MASK  (ep-epnum)));
-   return 0;
 }
 
-static int qe_epbds_reset(struct qe_udc *udc, int pipe_num)
+static void qe_epbds_reset(struct qe_udc *udc, int pipe_num)
 {
struct qe_ep *ep;
u32 bdring_len;
@@ -309,10 +300,9 @@ static int qe_epbds_reset(struct qe_udc *udc, int pipe_num)
}
out_be32((u32 __iomem *)bd, T_W);
 
-   return 0;
 }
 
-static int qe_ep_reset(struct qe_udc *udc, int pipe_num)
+static void qe_ep_reset(struct qe_udc *udc, int pipe_num)
 {
struct qe_ep *ep;
u16 tmpusep;
@@ -339,13 +329,11 @@ static int qe_ep_reset(struct qe_udc *udc, int pipe_num)
 
qe_epbds_reset(udc, pipe_num);
 
-   return 0;
 }
 
-static int qe_ep_toggledata01(struct qe_ep *ep)
+static void qe_ep_toggledata01(struct qe_ep *ep)
 {
ep-data01 ^= 0x1;
-   return 0;
 }
 
 static int qe_ep_bd_init(struct qe_udc *udc, unsigned char pipe_num)
-- 
2.1.4

___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https

[PATCH] udc:Make the function txcomplete have a return type of void

2015-06-27 Thread Nicholas Krause
This makes the function txcomplete have a return type of void
now due to this particular function always running successfully
nor its callers checking/using the return value from this particular
function in their own internal work.

Signed-off-by: Nicholas Krause xerofo...@gmail.com
---
 drivers/usb/gadget/udc/fsl_qe_udc.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/drivers/usb/gadget/udc/fsl_qe_udc.c 
b/drivers/usb/gadget/udc/fsl_qe_udc.c
index e0822f1..8c3a1ec 100644
--- a/drivers/usb/gadget/udc/fsl_qe_udc.c
+++ b/drivers/usb/gadget/udc/fsl_qe_udc.c
@@ -1139,7 +1139,7 @@ static int qe_ep_tx(struct qe_ep *ep, struct qe_frame 
*frame)
 
 /* when a bd was transmitted, the function can
  * handle the tx_req, not include ep0   */
-static int txcomplete(struct qe_ep *ep, unsigned char restart)
+static void txcomplete(struct qe_ep *ep, unsigned char restart)
 {
if (ep-tx_req != NULL) {
struct qe_req *req = ep-tx_req;
@@ -1184,8 +1184,6 @@ static int txcomplete(struct qe_ep *ep, unsigned char 
restart)
ep-sent = 0;
}
}
-
-   return 0;
 }
 
 /* give a frame and a tx_req, send some data */
-- 
2.1.4

___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

powerpc allyesconfig fix

2014-07-07 Thread Nicholas Krause
powerpc:allmodconfig has been failing for some time with the following
error.

arch/powerpc/kernel/exceptions-64s.S: Assembler messages:
arch/powerpc/kernel/exceptions-64s.S:1312: Error: attempt to move .org backwards
make[1]: *** [arch/powerpc/kernel/head_64.o] Error 1

A number of attempts to fix the problem by moving around code have been
unsuccessful and resulted in failed builds for some configurations and
the discovery of toolchain bugs.

Fix the problem by disabling RELOCATABLE for COMPILE_TEST builds instead.
While this is less than perfect, it avoids substantial code changes
which would otherwise be necessary just to make COMPILE_TEST builds
happy and might have undesired side effects.

Signed-off-by: Guenter Roeck li...@roeck-us.net
---
 arch/powerpc/Kconfig | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index bd6dd6e..fefe7c8 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -414,7 +414,7 @@ config KEXEC
 config CRASH_DUMP
bool Build a kdump crash kernel
depends on PPC64 || 6xx || FSL_BOOKE || (44x  !SMP)
-   select RELOCATABLE if PPC64 || 44x || FSL_BOOKE
+   select RELOCATABLE if (PPC64  !COMPILE_TEST) || 44x || FSL_BOOKE
help
  Build a kernel suitable for use as a kdump capture kernel.
  The same kernel binary can be used as production kernel and dump
@@ -1017,6 +1017,7 @@ endmenu
 if PPC64
 config RELOCATABLE
bool Build a relocatable kernel
+   depends on !COMPILE_TEST
select NONSTATIC_KERNEL
help
  This builds a kernel image that is capable of running anywhere
-- 
1.9.1



___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

[PATCH] Remove FIXME messages in arch/powerpc/sysdev/uic.c

2014-06-30 Thread Nicholas Krause
This removes FIXME messages in the function uic_init_one
as this FIXMEs are not valid due to the kernel being better
to panic due to boards without these allocated not being
able to service IRQs.

Signed-off-by: Nicholas Krause xerofo...@gmail.com
---
 arch/powerpc/sysdev/uic.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/powerpc/sysdev/uic.c b/arch/powerpc/sysdev/uic.c
index 9203393..937f6a5 100644
--- a/arch/powerpc/sysdev/uic.c
+++ b/arch/powerpc/sysdev/uic.c
@@ -239,7 +239,7 @@ static struct uic * __init uic_init_one(struct device_node 
*node)
 
uic = kzalloc(sizeof(*uic), GFP_KERNEL);
if (! uic)
-   return NULL; /* FIXME: panic? */
+   return NULL;
 
raw_spin_lock_init(uic-lock);
indexp = of_get_property(node, cell-index, len);
@@ -261,7 +261,7 @@ static struct uic * __init uic_init_one(struct device_node 
*node)
uic-irqhost = irq_domain_add_linear(node, NR_UIC_INTS, uic_host_ops,
 uic);
if (! uic-irqhost)
-   return NULL; /* FIXME: panic? */
+   return NULL;
 
/* Start with all interrupts disabled, level and non-critical */
mtdcr(uic-dcrbase + UIC_ER, 0);
-- 
1.9.1

___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

[PATCH] Remove FIXME messages in arch/powerpc/sysdev/uic.c

2014-06-30 Thread Nicholas Krause
This removes FIXME messages in the function uic_init_one
as this FIXMEs are not valid due to the kernel being better
to panic due to boards without these allocated not being
able to service IRQs.

Signed-off-by: Nicholas Krause xerofo...@gmail.com
---
 arch/powerpc/sysdev/uic.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/powerpc/sysdev/uic.c b/arch/powerpc/sysdev/uic.c
index 9203393..937f6a5 100644
--- a/arch/powerpc/sysdev/uic.c
+++ b/arch/powerpc/sysdev/uic.c
@@ -239,7 +239,7 @@ static struct uic * __init uic_init_one(struct device_node 
*node)
 
uic = kzalloc(sizeof(*uic), GFP_KERNEL);
if (! uic)
-   return NULL; /* FIXME: panic? */
+   return NULL;
 
raw_spin_lock_init(uic-lock);
indexp = of_get_property(node, cell-index, len);
@@ -261,7 +261,7 @@ static struct uic * __init uic_init_one(struct device_node 
*node)
uic-irqhost = irq_domain_add_linear(node, NR_UIC_INTS, uic_host_ops,
 uic);
if (! uic-irqhost)
-   return NULL; /* FIXME: panic? */
+   return NULL;
 
/* Start with all interrupts disabled, level and non-critical */
mtdcr(uic-dcrbase + UIC_ER, 0);
-- 
1.9.1

___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

[PATCH] Fixes return issues in uic_init_one

2014-06-29 Thread Nicholas Krause
This patch fixes the FIXME messages for returning a ENOMEM error
if uic is not allocated and if uic-irqhost is not allocated a
IRQ domain that is linear returns EIO.

Signed-off-by: Nicholas Krause xerofo...@gmail.com
---
 arch/powerpc/sysdev/uic.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/powerpc/sysdev/uic.c b/arch/powerpc/sysdev/uic.c
index 9203393..f95010a 100644
--- a/arch/powerpc/sysdev/uic.c
+++ b/arch/powerpc/sysdev/uic.c
@@ -239,7 +239,7 @@ static struct uic * __init uic_init_one(struct device_node 
*node)
 
uic = kzalloc(sizeof(*uic), GFP_KERNEL);
if (! uic)
-   return NULL; /* FIXME: panic? */
+   return -ENOMEM; 
 
raw_spin_lock_init(uic-lock);
indexp = of_get_property(node, cell-index, len);
@@ -261,7 +261,7 @@ static struct uic * __init uic_init_one(struct device_node 
*node)
uic-irqhost = irq_domain_add_linear(node, NR_UIC_INTS, uic_host_ops,
 uic);
if (! uic-irqhost)
-   return NULL; /* FIXME: panic? */
+   return -EIO; 
 
/* Start with all interrupts disabled, level and non-critical */
mtdcr(uic-dcrbase + UIC_ER, 0);
-- 
1.9.1

___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev