Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7ac2ed0c authored by Joe Perches's avatar Joe Perches Committed by David S. Miller
Browse files

caif: Remove OOM messages, use kzalloc



Remove per site OOM messages because they duplicate
the generic mm subsystem OOM message.

Use kzalloc instead of kmalloc/memset
when next to the OOM message removals.

Reduces object size (allyesconfig ~2%)

$ size -t drivers/net/caif/built-in.o.old net/caif/built-in.o.old
   text	   data	    bss	    dec	    hex	filename
  32297	    700	   8224	  41221	   a105	drivers/net/caif/built-in.o.old
  72159	   1317	  20552	  94028	  16f4c	net/caif/built-in.o.old
 104456	   2017	  28776	 135249	  21051	(TOTALS)
$ size -t drivers/net/caif/built-in.o.new net/caif/built-in.o.new
   text	   data	    bss	    dec	    hex	filename
  31975	    700	   8184	  40859	   9f9b	drivers/net/caif/built-in.o.new
  70748	   1317	  20152	  92217	  16839	net/caif/built-in.o.new
 102723	   2017	  28336	 133076	  207d4	(TOTALS)

Signed-off-by: default avatarJoe Perches <joe@perches.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 343e43c0
Loading
Loading
Loading
Loading
+1 −8
Original line number Diff line number Diff line
@@ -937,11 +937,8 @@ int cfhsi_probe(struct platform_device *pdev)
	int res;

	ndev = alloc_netdev(sizeof(struct cfhsi), "cfhsi%d", cfhsi_setup);
	if (!ndev) {
		dev_err(&pdev->dev, "%s: alloc_netdev failed.\n",
			__func__);
	if (!ndev)
		return -ENODEV;
	}

	cfhsi = netdev_priv(ndev);
	cfhsi->ndev = ndev;
@@ -969,8 +966,6 @@ int cfhsi_probe(struct platform_device *pdev)
	 */
	cfhsi->tx_buf = kzalloc(CFHSI_BUF_SZ_TX, GFP_KERNEL);
	if (!cfhsi->tx_buf) {
		dev_err(&ndev->dev, "%s: Failed to allocate TX buffer.\n",
			__func__);
		res = -ENODEV;
		goto err_alloc_tx;
	}
@@ -981,8 +976,6 @@ int cfhsi_probe(struct platform_device *pdev)
	 */
	cfhsi->rx_buf = kzalloc(CFHSI_BUF_SZ_RX, GFP_KERNEL);
	if (!cfhsi->rx_buf) {
		dev_err(&ndev->dev, "%s: Failed to allocate RX buffer.\n",
			__func__);
		res = -ENODEV;
		goto err_alloc_rx;
	}
+0 −4
Original line number Diff line number Diff line
@@ -664,8 +664,6 @@ int cfspi_spi_probe(struct platform_device *pdev)
	/* Allocate DMA buffers. */
	cfspi->xfer.va_tx = dma_alloc(&cfspi->xfer.pa_tx);
	if (!cfspi->xfer.va_tx) {
		printk(KERN_WARNING
		       "CFSPI: failed to allocate dma TX buffer.\n");
		res = -ENODEV;
		goto err_dma_alloc_tx;
	}
@@ -673,8 +671,6 @@ int cfspi_spi_probe(struct platform_device *pdev)
	cfspi->xfer.va_rx = dma_alloc(&cfspi->xfer.pa_rx);

	if (!cfspi->xfer.va_rx) {
		printk(KERN_WARNING
		       "CFSPI: failed to allocate dma TX buffer.\n");
		res = -ENODEV;
		goto err_dma_alloc_rx;
	}
+3 −12
Original line number Diff line number Diff line
@@ -78,10 +78,8 @@ struct cfcnfg *cfcnfg_create(void)

	/* Initiate this layer */
	this = kzalloc(sizeof(struct cfcnfg), GFP_ATOMIC);
	if (!this) {
		pr_warn("Out of memory\n");
	if (!this)
		return NULL;
	}
	this->mux = cfmuxl_create();
	if (!this->mux)
		goto out_of_mem;
@@ -108,8 +106,6 @@ struct cfcnfg *cfcnfg_create(void)

	return this;
out_of_mem:
	pr_warn("Out of memory\n");

	synchronize_rcu();

	kfree(this->mux);
@@ -448,10 +444,8 @@ cfcnfg_linkup_rsp(struct cflayer *layer, u8 channel_id, enum cfctrl_srv serv,
				"- unknown channel type\n");
		goto unlock;
	}
	if (!servicel) {
		pr_warn("Out of memory\n");
	if (!servicel)
		goto unlock;
	}
	layer_set_dn(servicel, cnfg->mux);
	cfmuxl_set_uplayer(cnfg->mux, servicel, channel_id);
	layer_set_up(servicel, adapt_layer);
@@ -497,10 +491,8 @@ got_phyid:
	case CFPHYTYPE_FRAG:
		phy_driver =
		    cfserl_create(CFPHYTYPE_FRAG, phyid, stx);
		if (!phy_driver) {
			pr_warn("Out of memory\n");
		if (!phy_driver)
			goto out;
		}
		break;
	case CFPHYTYPE_CAIF:
		phy_driver = NULL;
@@ -521,7 +513,6 @@ got_phyid:
	frml = cffrml_create(phyid, fcs);

	if (!frml) {
		pr_warn("Out of memory\n");
		kfree(phyinfo);
		goto out;
	}
+6 −17
Original line number Diff line number Diff line
@@ -35,15 +35,12 @@ struct cflayer *cfctrl_create(void)
{
	struct dev_info dev_info;
	struct cfctrl *this =
		kmalloc(sizeof(struct cfctrl), GFP_ATOMIC);
	if (!this) {
		pr_warn("Out of memory\n");
		kzalloc(sizeof(struct cfctrl), GFP_ATOMIC);
	if (!this)
		return NULL;
	}
	caif_assert(offsetof(struct cfctrl, serv.layer) == 0);
	memset(&dev_info, 0, sizeof(dev_info));
	dev_info.id = 0xff;
	memset(this, 0, sizeof(*this));
	cfsrvl_init(&this->serv, 0, &dev_info, false);
	atomic_set(&this->req_seq_no, 1);
	atomic_set(&this->rsp_seq_no, 1);
@@ -180,10 +177,8 @@ void cfctrl_enum_req(struct cflayer *layer, u8 physlinkid)
	struct cfctrl *cfctrl = container_obj(layer);
	struct cfpkt *pkt = cfpkt_create(CFPKT_CTRL_PKT_LEN);
	struct cflayer *dn = cfctrl->serv.layer.dn;
	if (!pkt) {
		pr_warn("Out of memory\n");
	if (!pkt)
		return;
	}
	if (!dn) {
		pr_debug("not able to send enum request\n");
		return;
@@ -224,10 +219,8 @@ int cfctrl_linkup_request(struct cflayer *layer,
	}

	pkt = cfpkt_create(CFPKT_CTRL_PKT_LEN);
	if (!pkt) {
		pr_warn("Out of memory\n");
	if (!pkt)
		return -ENOMEM;
	}
	cfpkt_addbdy(pkt, CFCTRL_CMD_LINK_SETUP);
	cfpkt_addbdy(pkt, (param->chtype << 4) | param->linktype);
	cfpkt_addbdy(pkt, (param->priority << 3) | param->phyid);
@@ -275,10 +268,8 @@ int cfctrl_linkup_request(struct cflayer *layer,
		return -EINVAL;
	}
	req = kzalloc(sizeof(*req), GFP_KERNEL);
	if (!req) {
		pr_warn("Out of memory\n");
	if (!req)
		return -ENOMEM;
	}
	req->client_layer = user_layer;
	req->cmd = CFCTRL_CMD_LINK_SETUP;
	req->param = *param;
@@ -312,10 +303,8 @@ int cfctrl_linkdown_req(struct cflayer *layer, u8 channelid,
	struct cfpkt *pkt = cfpkt_create(CFPKT_CTRL_PKT_LEN);
	struct cflayer *dn = cfctrl->serv.layer.dn;

	if (!pkt) {
		pr_warn("Out of memory\n");
	if (!pkt)
		return -ENOMEM;
	}

	if (!dn) {
		pr_debug("not able to send link-down request\n");
+2 −5
Original line number Diff line number Diff line
@@ -19,13 +19,10 @@ static int cfdbgl_transmit(struct cflayer *layr, struct cfpkt *pkt);

struct cflayer *cfdbgl_create(u8 channel_id, struct dev_info *dev_info)
{
	struct cfsrvl *dbg = kmalloc(sizeof(struct cfsrvl), GFP_ATOMIC);
	if (!dbg) {
		pr_warn("Out of memory\n");
	struct cfsrvl *dbg = kzalloc(sizeof(struct cfsrvl), GFP_ATOMIC);
	if (!dbg)
		return NULL;
	}
	caif_assert(offsetof(struct cfsrvl, layer) == 0);
	memset(dbg, 0, sizeof(struct cfsrvl));
	cfsrvl_init(dbg, channel_id, dev_info, false);
	dbg->layer.receive = cfdbgl_receive;
	dbg->layer.transmit = cfdbgl_transmit;
Loading