Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp4158994imu; Tue, 18 Dec 2018 09:58:46 -0800 (PST) X-Google-Smtp-Source: AFSGD/U93yLVFmpxbis1HZz4pZTXCRTEvZ4ftxKZkI47Ly77GDtXsTRPmuWVjS7QN/4Owwt+whnU X-Received: by 2002:a62:29c3:: with SMTP id p186mr17840344pfp.117.1545155926031; Tue, 18 Dec 2018 09:58:46 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1545155925; cv=none; d=google.com; s=arc-20160816; b=Ddo5Bqr35rO04XZb6gdA6d8MpW6EIbD0yDxi4pkMpCneo4ysr16FAJILKfaKfyPtkO puFWyBy2yLW/lVxpWpMoiYPnH9Ya6kyvYXLdsZNzxdad3eKwJtHkHEKfn+3Flqd9yGWr 7M+nIZH0gB83+8aiPNRk9042fjIvbJkJuSpBoXjUE817d4/RQTuF1L/e1gC4CUVK5sIq eT5KoRmOvcFartKUGlGYF1Zq+pR/5BHauNQSnnH6dFJa/n0MV6U+44PoZzCkRSPAhgl+ DiUT7gQWjT5mousIoTGLYG/9H77XLfdZmAP1L811jw8XnfjljcOA1ZkgOnwhohOMbjz8 f0lg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date; bh=1uyaumSg381XSXijuud4y0lYYs1fiAupdID8psIxdQE=; b=DFu2sBVywRjFFnsOBhUkGTksgitfQDrukrTbfhCPbcSWUu+NkOg2fV1n46QnxmspD1 /lP2Hg7RW/uw4uP5r6UtiIyk7ryU/Qp+UqBl6rWB/0ll0e2K3flJ8WmDKafS15REuovb T1IHgqqXwM+DcqjxsTilfUg01q5IbWI61d8u70jTJwJr9TSEIVGRseE57tE1KzJ10nT8 4jg7HzAwsZJQbAwHYfoMF5dBEIPyR+gswZQnvhBWiRqJobpMr+aHp2GDa++kr6aEWDE/ JtLBvamN+nSFKVZGIw3txxKFMu8KoMQYk7+Vt01XtWRz5giFkdS7H6PJem50VMsD/fqz WL6Q== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id h13si13235259pgs.17.2018.12.18.09.58.29; Tue, 18 Dec 2018 09:58:45 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727033AbeLRPhN (ORCPT + 99 others); Tue, 18 Dec 2018 10:37:13 -0500 Received: from mga05.intel.com ([192.55.52.43]:58524 "EHLO mga05.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726849AbeLRPhN (ORCPT ); Tue, 18 Dec 2018 10:37:13 -0500 X-Amp-Result: UNKNOWN X-Amp-Original-Verdict: FILE UNKNOWN X-Amp-File-Uploaded: False Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga105.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 18 Dec 2018 07:37:04 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.56,368,1539673200"; d="gz'50?scan'50,208,50";a="130982187" Received: from lkp-server01.sh.intel.com (HELO lkp-server01) ([10.239.97.150]) by fmsmga001.fm.intel.com with ESMTP; 18 Dec 2018 07:37:01 -0800 Received: from kbuild by lkp-server01 with local (Exim 4.89) (envelope-from ) id 1gZHQb-000BYH-2y; Tue, 18 Dec 2018 23:37:01 +0800 Date: Tue, 18 Dec 2018 23:36:22 +0800 From: kbuild test robot To: Matti Vaittinen Cc: kbuild-all@01.org, mazziesaccount@gmail.com, matti.vaittinen@fi.rohmeurope.com, heikki.haikola@fi.rohmeurope.com, mikko.mutanen@fi.rohmeurope.com, broonie@kernel.org, gregkh@linuxfoundation.org, rafael@kernel.org, linus.walleij@linaro.org, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, vladimir_zapolskiy@mentor.com Subject: Re: [PATCH v3] regmap: regmap-irq/gpio-max77620: add level-irq support Message-ID: <201812182306.X3vcHVlL%fengguang.wu@intel.com> References: <20181218115931.GA21253@localhost.localdomain> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="xHFwDpU9dbj6ez1V" Content-Disposition: inline In-Reply-To: <20181218115931.GA21253@localhost.localdomain> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --xHFwDpU9dbj6ez1V Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Hi Matti, Thank you for the patch! Yet something to improve: [auto build test ERROR on regmap/for-next] [also build test ERROR on next-20181218] [cannot apply to v4.20-rc7] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Matti-Vaittinen/regmap-regmap-irq-gpio-max77620-add-level-irq-support/20181218-225844 base: https://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap.git for-next config: x86_64-randconfig-x006-201850 (attached as .config) compiler: gcc-7 (Debian 7.3.0-1) 7.3.0 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All errors (new ones prefixed by >>): drivers/base/regmap/regmap-irq.c: In function 'regmap_add_irq_chip': >> drivers/base/regmap/regmap-irq.c:644:24: error: 'const struct regmap_irq' has no member named 'type_reg_offset'; did you mean 'reg_offset'? reg = chip->irqs[i].type_reg_offset / map->reg_stride; ^~~~~~~~~~~~~~~ reg_offset >> drivers/base/regmap/regmap-irq.c:645:41: error: 'const struct regmap_irq' has no member named 'type_rising_mask' d->type_buf_def[reg] |= chip->irqs[i].type_rising_mask | ^ >> drivers/base/regmap/regmap-irq.c:646:19: error: 'const struct regmap_irq' has no member named 'type_falling_mask' chip->irqs[i].type_falling_mask; ^ vim +644 drivers/base/regmap/regmap-irq.c 4af8be67f Mark Brown 2012-05-13 446 f8beab2bb Mark Brown 2011-10-28 447 /** 2cf8e2dfd Charles Keepax 2017-01-12 448 * regmap_add_irq_chip() - Use standard regmap IRQ controller handling f8beab2bb Mark Brown 2011-10-28 449 * 2cf8e2dfd Charles Keepax 2017-01-12 450 * @map: The regmap for the device. 2cf8e2dfd Charles Keepax 2017-01-12 451 * @irq: The IRQ the device uses to signal interrupts. 2cf8e2dfd Charles Keepax 2017-01-12 452 * @irq_flags: The IRQF_ flags to use for the primary interrupt. 2cf8e2dfd Charles Keepax 2017-01-12 453 * @irq_base: Allocate at specific IRQ number if irq_base > 0. 2cf8e2dfd Charles Keepax 2017-01-12 454 * @chip: Configuration for the interrupt controller. 2cf8e2dfd Charles Keepax 2017-01-12 455 * @data: Runtime data structure for the controller, allocated on success. f8beab2bb Mark Brown 2011-10-28 456 * f8beab2bb Mark Brown 2011-10-28 457 * Returns 0 on success or an errno on failure. f8beab2bb Mark Brown 2011-10-28 458 * f8beab2bb Mark Brown 2011-10-28 459 * In order for this to be efficient the chip really should use a f8beab2bb Mark Brown 2011-10-28 460 * register cache. The chip driver is responsible for restoring the f8beab2bb Mark Brown 2011-10-28 461 * register values used by the IRQ controller over suspend and resume. f8beab2bb Mark Brown 2011-10-28 462 */ f8beab2bb Mark Brown 2011-10-28 463 int regmap_add_irq_chip(struct regmap *map, int irq, int irq_flags, b026ddbbd Mark Brown 2012-05-31 464 int irq_base, const struct regmap_irq_chip *chip, f8beab2bb Mark Brown 2011-10-28 465 struct regmap_irq_chip_data **data) f8beab2bb Mark Brown 2011-10-28 466 { f8beab2bb Mark Brown 2011-10-28 467 struct regmap_irq_chip_data *d; 4af8be67f Mark Brown 2012-05-13 468 int i; f8beab2bb Mark Brown 2011-10-28 469 int ret = -ENOMEM; bc998a730 Bartosz Golaszewski 2018-12-07 470 int num_type_reg; 16032624f Stephen Warren 2012-07-27 471 u32 reg; 7b7d1968e Guo Zeng 2015-09-17 472 u32 unmask_offset; f8beab2bb Mark Brown 2011-10-28 473 e12892070 Xiubo Li 2014-05-19 474 if (chip->num_regs <= 0) e12892070 Xiubo Li 2014-05-19 475 return -EINVAL; e12892070 Xiubo Li 2014-05-19 476 f01ee60ff Stephen Warren 2012-04-09 477 for (i = 0; i < chip->num_irqs; i++) { f01ee60ff Stephen Warren 2012-04-09 478 if (chip->irqs[i].reg_offset % map->reg_stride) f01ee60ff Stephen Warren 2012-04-09 479 return -EINVAL; f01ee60ff Stephen Warren 2012-04-09 480 if (chip->irqs[i].reg_offset / map->reg_stride >= f01ee60ff Stephen Warren 2012-04-09 481 chip->num_regs) f01ee60ff Stephen Warren 2012-04-09 482 return -EINVAL; f01ee60ff Stephen Warren 2012-04-09 483 } f01ee60ff Stephen Warren 2012-04-09 484 4af8be67f Mark Brown 2012-05-13 485 if (irq_base) { f8beab2bb Mark Brown 2011-10-28 486 irq_base = irq_alloc_descs(irq_base, 0, chip->num_irqs, 0); f8beab2bb Mark Brown 2011-10-28 487 if (irq_base < 0) { f8beab2bb Mark Brown 2011-10-28 488 dev_warn(map->dev, "Failed to allocate IRQs: %d\n", f8beab2bb Mark Brown 2011-10-28 489 irq_base); f8beab2bb Mark Brown 2011-10-28 490 return irq_base; f8beab2bb Mark Brown 2011-10-28 491 } 4af8be67f Mark Brown 2012-05-13 492 } f8beab2bb Mark Brown 2011-10-28 493 f8beab2bb Mark Brown 2011-10-28 494 d = kzalloc(sizeof(*d), GFP_KERNEL); f8beab2bb Mark Brown 2011-10-28 495 if (!d) f8beab2bb Mark Brown 2011-10-28 496 return -ENOMEM; f8beab2bb Mark Brown 2011-10-28 497 eeda1bd69 lixiubo 2015-11-20 498 d->status_buf = kcalloc(chip->num_regs, sizeof(unsigned int), f8beab2bb Mark Brown 2011-10-28 499 GFP_KERNEL); f8beab2bb Mark Brown 2011-10-28 500 if (!d->status_buf) f8beab2bb Mark Brown 2011-10-28 501 goto err_alloc; f8beab2bb Mark Brown 2011-10-28 502 eeda1bd69 lixiubo 2015-11-20 503 d->mask_buf = kcalloc(chip->num_regs, sizeof(unsigned int), f8beab2bb Mark Brown 2011-10-28 504 GFP_KERNEL); f8beab2bb Mark Brown 2011-10-28 505 if (!d->mask_buf) f8beab2bb Mark Brown 2011-10-28 506 goto err_alloc; f8beab2bb Mark Brown 2011-10-28 507 eeda1bd69 lixiubo 2015-11-20 508 d->mask_buf_def = kcalloc(chip->num_regs, sizeof(unsigned int), f8beab2bb Mark Brown 2011-10-28 509 GFP_KERNEL); f8beab2bb Mark Brown 2011-10-28 510 if (!d->mask_buf_def) f8beab2bb Mark Brown 2011-10-28 511 goto err_alloc; f8beab2bb Mark Brown 2011-10-28 512 a43fd50dc Mark Brown 2012-06-05 513 if (chip->wake_base) { eeda1bd69 lixiubo 2015-11-20 514 d->wake_buf = kcalloc(chip->num_regs, sizeof(unsigned int), a43fd50dc Mark Brown 2012-06-05 515 GFP_KERNEL); a43fd50dc Mark Brown 2012-06-05 516 if (!d->wake_buf) a43fd50dc Mark Brown 2012-06-05 517 goto err_alloc; a43fd50dc Mark Brown 2012-06-05 518 } a43fd50dc Mark Brown 2012-06-05 519 bc998a730 Bartosz Golaszewski 2018-12-07 520 num_type_reg = chip->type_in_mask ? chip->num_regs : chip->num_type_reg; bc998a730 Bartosz Golaszewski 2018-12-07 521 if (num_type_reg) { bc998a730 Bartosz Golaszewski 2018-12-07 522 d->type_buf_def = kcalloc(num_type_reg, 7a78479fd Laxman Dewangan 2015-12-22 523 sizeof(unsigned int), GFP_KERNEL); 7a78479fd Laxman Dewangan 2015-12-22 524 if (!d->type_buf_def) 7a78479fd Laxman Dewangan 2015-12-22 525 goto err_alloc; 7a78479fd Laxman Dewangan 2015-12-22 526 bc998a730 Bartosz Golaszewski 2018-12-07 527 d->type_buf = kcalloc(num_type_reg, sizeof(unsigned int), 7a78479fd Laxman Dewangan 2015-12-22 528 GFP_KERNEL); 7a78479fd Laxman Dewangan 2015-12-22 529 if (!d->type_buf) 7a78479fd Laxman Dewangan 2015-12-22 530 goto err_alloc; 7a78479fd Laxman Dewangan 2015-12-22 531 } 7a78479fd Laxman Dewangan 2015-12-22 532 7ac140ec4 Stephen Warren 2012-08-01 533 d->irq_chip = regmap_irq_chip; ca142750f Stephen Warren 2012-08-01 534 d->irq_chip.name = chip->name; a43fd50dc Mark Brown 2012-06-05 535 d->irq = irq; f8beab2bb Mark Brown 2011-10-28 536 d->map = map; f8beab2bb Mark Brown 2011-10-28 537 d->chip = chip; f8beab2bb Mark Brown 2011-10-28 538 d->irq_base = irq_base; 022f926a2 Graeme Gregory 2012-05-14 539 022f926a2 Graeme Gregory 2012-05-14 540 if (chip->irq_reg_stride) 022f926a2 Graeme Gregory 2012-05-14 541 d->irq_reg_stride = chip->irq_reg_stride; 022f926a2 Graeme Gregory 2012-05-14 542 else 022f926a2 Graeme Gregory 2012-05-14 543 d->irq_reg_stride = 1; 022f926a2 Graeme Gregory 2012-05-14 544 7a78479fd Laxman Dewangan 2015-12-22 545 if (chip->type_reg_stride) 7a78479fd Laxman Dewangan 2015-12-22 546 d->type_reg_stride = chip->type_reg_stride; 7a78479fd Laxman Dewangan 2015-12-22 547 else 7a78479fd Laxman Dewangan 2015-12-22 548 d->type_reg_stride = 1; 7a78479fd Laxman Dewangan 2015-12-22 549 67921a1a6 Markus Pargmann 2015-08-21 550 if (!map->use_single_read && map->reg_stride == 1 && a7440eaa9 Mark Brown 2013-01-03 551 d->irq_reg_stride == 1) { 549e08a0a lixiubo 2015-11-20 552 d->status_reg_buf = kmalloc_array(chip->num_regs, 549e08a0a lixiubo 2015-11-20 553 map->format.val_bytes, 549e08a0a lixiubo 2015-11-20 554 GFP_KERNEL); a7440eaa9 Mark Brown 2013-01-03 555 if (!d->status_reg_buf) a7440eaa9 Mark Brown 2013-01-03 556 goto err_alloc; a7440eaa9 Mark Brown 2013-01-03 557 } a7440eaa9 Mark Brown 2013-01-03 558 f8beab2bb Mark Brown 2011-10-28 559 mutex_init(&d->lock); f8beab2bb Mark Brown 2011-10-28 560 f8beab2bb Mark Brown 2011-10-28 561 for (i = 0; i < chip->num_irqs; i++) f01ee60ff Stephen Warren 2012-04-09 562 d->mask_buf_def[chip->irqs[i].reg_offset / map->reg_stride] f8beab2bb Mark Brown 2011-10-28 563 |= chip->irqs[i].mask; f8beab2bb Mark Brown 2011-10-28 564 f8beab2bb Mark Brown 2011-10-28 565 /* Mask all the interrupts by default */ f8beab2bb Mark Brown 2011-10-28 566 for (i = 0; i < chip->num_regs; i++) { f8beab2bb Mark Brown 2011-10-28 567 d->mask_buf[i] = d->mask_buf_def[i]; 16032624f Stephen Warren 2012-07-27 568 reg = chip->mask_base + 16032624f Stephen Warren 2012-07-27 569 (i * map->reg_stride * d->irq_reg_stride); 36ac914ba Xiaofan Tian 2012-08-30 570 if (chip->mask_invert) a71411dbf Michael Grzeschik 2017-06-23 571 ret = regmap_irq_update_bits(d, reg, 36ac914ba Xiaofan Tian 2012-08-30 572 d->mask_buf[i], ~d->mask_buf[i]); 7b7d1968e Guo Zeng 2015-09-17 573 else if (d->chip->unmask_base) { 7b7d1968e Guo Zeng 2015-09-17 574 unmask_offset = d->chip->unmask_base - 7b7d1968e Guo Zeng 2015-09-17 575 d->chip->mask_base; a71411dbf Michael Grzeschik 2017-06-23 576 ret = regmap_irq_update_bits(d, 7b7d1968e Guo Zeng 2015-09-17 577 reg + unmask_offset, 7b7d1968e Guo Zeng 2015-09-17 578 d->mask_buf[i], 7b7d1968e Guo Zeng 2015-09-17 579 d->mask_buf[i]); 7b7d1968e Guo Zeng 2015-09-17 580 } else a71411dbf Michael Grzeschik 2017-06-23 581 ret = regmap_irq_update_bits(d, reg, 0eb46ad0c Mark Brown 2012-08-01 582 d->mask_buf[i], d->mask_buf[i]); f8beab2bb Mark Brown 2011-10-28 583 if (ret != 0) { f8beab2bb Mark Brown 2011-10-28 584 dev_err(map->dev, "Failed to set masks in 0x%x: %d\n", 16032624f Stephen Warren 2012-07-27 585 reg, ret); f8beab2bb Mark Brown 2011-10-28 586 goto err_alloc; f8beab2bb Mark Brown 2011-10-28 587 } 2753e6f82 Philipp Zabel 2013-07-22 588 2753e6f82 Philipp Zabel 2013-07-22 589 if (!chip->init_ack_masked) 2753e6f82 Philipp Zabel 2013-07-22 590 continue; 2753e6f82 Philipp Zabel 2013-07-22 591 2753e6f82 Philipp Zabel 2013-07-22 592 /* Ack masked but set interrupts */ 2753e6f82 Philipp Zabel 2013-07-22 593 reg = chip->status_base + 2753e6f82 Philipp Zabel 2013-07-22 594 (i * map->reg_stride * d->irq_reg_stride); 2753e6f82 Philipp Zabel 2013-07-22 595 ret = regmap_read(map, reg, &d->status_buf[i]); 2753e6f82 Philipp Zabel 2013-07-22 596 if (ret != 0) { 2753e6f82 Philipp Zabel 2013-07-22 597 dev_err(map->dev, "Failed to read IRQ status: %d\n", 2753e6f82 Philipp Zabel 2013-07-22 598 ret); 2753e6f82 Philipp Zabel 2013-07-22 599 goto err_alloc; 2753e6f82 Philipp Zabel 2013-07-22 600 } 2753e6f82 Philipp Zabel 2013-07-22 601 d32334333 Alexander Shiyan 2013-12-15 602 if (d->status_buf[i] && (chip->ack_base || chip->use_ack)) { 2753e6f82 Philipp Zabel 2013-07-22 603 reg = chip->ack_base + 2753e6f82 Philipp Zabel 2013-07-22 604 (i * map->reg_stride * d->irq_reg_stride); a650fdd94 Guo Zeng 2015-09-17 605 if (chip->ack_invert) a650fdd94 Guo Zeng 2015-09-17 606 ret = regmap_write(map, reg, a650fdd94 Guo Zeng 2015-09-17 607 ~(d->status_buf[i] & d->mask_buf[i])); a650fdd94 Guo Zeng 2015-09-17 608 else 2753e6f82 Philipp Zabel 2013-07-22 609 ret = regmap_write(map, reg, 2753e6f82 Philipp Zabel 2013-07-22 610 d->status_buf[i] & d->mask_buf[i]); 2753e6f82 Philipp Zabel 2013-07-22 611 if (ret != 0) { 2753e6f82 Philipp Zabel 2013-07-22 612 dev_err(map->dev, "Failed to ack 0x%x: %d\n", 2753e6f82 Philipp Zabel 2013-07-22 613 reg, ret); 2753e6f82 Philipp Zabel 2013-07-22 614 goto err_alloc; 2753e6f82 Philipp Zabel 2013-07-22 615 } 2753e6f82 Philipp Zabel 2013-07-22 616 } f8beab2bb Mark Brown 2011-10-28 617 } f8beab2bb Mark Brown 2011-10-28 618 40052ca0c Stephen Warren 2012-08-01 619 /* Wake is disabled by default */ 40052ca0c Stephen Warren 2012-08-01 620 if (d->wake_buf) { 40052ca0c Stephen Warren 2012-08-01 621 for (i = 0; i < chip->num_regs; i++) { 40052ca0c Stephen Warren 2012-08-01 622 d->wake_buf[i] = d->mask_buf_def[i]; 40052ca0c Stephen Warren 2012-08-01 623 reg = chip->wake_base + 40052ca0c Stephen Warren 2012-08-01 624 (i * map->reg_stride * d->irq_reg_stride); 9442490a0 Mark Brown 2013-01-04 625 9442490a0 Mark Brown 2013-01-04 626 if (chip->wake_invert) a71411dbf Michael Grzeschik 2017-06-23 627 ret = regmap_irq_update_bits(d, reg, 9442490a0 Mark Brown 2013-01-04 628 d->mask_buf_def[i], 9442490a0 Mark Brown 2013-01-04 629 0); 9442490a0 Mark Brown 2013-01-04 630 else a71411dbf Michael Grzeschik 2017-06-23 631 ret = regmap_irq_update_bits(d, reg, 9442490a0 Mark Brown 2013-01-04 632 d->mask_buf_def[i], 40052ca0c Stephen Warren 2012-08-01 633 d->wake_buf[i]); 40052ca0c Stephen Warren 2012-08-01 634 if (ret != 0) { 40052ca0c Stephen Warren 2012-08-01 635 dev_err(map->dev, "Failed to set masks in 0x%x: %d\n", 40052ca0c Stephen Warren 2012-08-01 636 reg, ret); 40052ca0c Stephen Warren 2012-08-01 637 goto err_alloc; 40052ca0c Stephen Warren 2012-08-01 638 } 40052ca0c Stephen Warren 2012-08-01 639 } 40052ca0c Stephen Warren 2012-08-01 640 } 40052ca0c Stephen Warren 2012-08-01 641 bc998a730 Bartosz Golaszewski 2018-12-07 642 if (chip->num_type_reg && !chip->type_in_mask) { 7a78479fd Laxman Dewangan 2015-12-22 643 for (i = 0; i < chip->num_irqs; i++) { 7a78479fd Laxman Dewangan 2015-12-22 @644 reg = chip->irqs[i].type_reg_offset / map->reg_stride; 7a78479fd Laxman Dewangan 2015-12-22 @645 d->type_buf_def[reg] |= chip->irqs[i].type_rising_mask | 7a78479fd Laxman Dewangan 2015-12-22 @646 chip->irqs[i].type_falling_mask; 7a78479fd Laxman Dewangan 2015-12-22 647 } 7a78479fd Laxman Dewangan 2015-12-22 648 for (i = 0; i < chip->num_type_reg; ++i) { 7a78479fd Laxman Dewangan 2015-12-22 649 if (!d->type_buf_def[i]) 7a78479fd Laxman Dewangan 2015-12-22 650 continue; 7a78479fd Laxman Dewangan 2015-12-22 651 7a78479fd Laxman Dewangan 2015-12-22 652 reg = chip->type_base + 7a78479fd Laxman Dewangan 2015-12-22 653 (i * map->reg_stride * d->type_reg_stride); 7a78479fd Laxman Dewangan 2015-12-22 654 if (chip->type_invert) a71411dbf Michael Grzeschik 2017-06-23 655 ret = regmap_irq_update_bits(d, reg, 7a78479fd Laxman Dewangan 2015-12-22 656 d->type_buf_def[i], 0xFF); 7a78479fd Laxman Dewangan 2015-12-22 657 else a71411dbf Michael Grzeschik 2017-06-23 658 ret = regmap_irq_update_bits(d, reg, 7a78479fd Laxman Dewangan 2015-12-22 659 d->type_buf_def[i], 0x0); 7a78479fd Laxman Dewangan 2015-12-22 660 if (ret != 0) { 7a78479fd Laxman Dewangan 2015-12-22 661 dev_err(map->dev, 7a78479fd Laxman Dewangan 2015-12-22 662 "Failed to set type in 0x%x: %x\n", 7a78479fd Laxman Dewangan 2015-12-22 663 reg, ret); 7a78479fd Laxman Dewangan 2015-12-22 664 goto err_alloc; 7a78479fd Laxman Dewangan 2015-12-22 665 } 7a78479fd Laxman Dewangan 2015-12-22 666 } 7a78479fd Laxman Dewangan 2015-12-22 667 } 7a78479fd Laxman Dewangan 2015-12-22 668 4af8be67f Mark Brown 2012-05-13 669 if (irq_base) 4af8be67f Mark Brown 2012-05-13 670 d->domain = irq_domain_add_legacy(map->dev->of_node, 4af8be67f Mark Brown 2012-05-13 671 chip->num_irqs, irq_base, 0, 4af8be67f Mark Brown 2012-05-13 672 ®map_domain_ops, d); 4af8be67f Mark Brown 2012-05-13 673 else 4af8be67f Mark Brown 2012-05-13 674 d->domain = irq_domain_add_linear(map->dev->of_node, 4af8be67f Mark Brown 2012-05-13 675 chip->num_irqs, 4af8be67f Mark Brown 2012-05-13 676 ®map_domain_ops, d); 4af8be67f Mark Brown 2012-05-13 677 if (!d->domain) { 4af8be67f Mark Brown 2012-05-13 678 dev_err(map->dev, "Failed to create IRQ domain\n"); 4af8be67f Mark Brown 2012-05-13 679 ret = -ENOMEM; 4af8be67f Mark Brown 2012-05-13 680 goto err_alloc; f8beab2bb Mark Brown 2011-10-28 681 } f8beab2bb Mark Brown 2011-10-28 682 09cadf6e0 Valentin Rothberg 2015-02-11 683 ret = request_threaded_irq(irq, NULL, regmap_irq_thread, 09cadf6e0 Valentin Rothberg 2015-02-11 684 irq_flags | IRQF_ONESHOT, f8beab2bb Mark Brown 2011-10-28 685 chip->name, d); f8beab2bb Mark Brown 2011-10-28 686 if (ret != 0) { eed456f93 Mark Brown 2013-03-19 687 dev_err(map->dev, "Failed to request IRQ %d for %s: %d\n", eed456f93 Mark Brown 2013-03-19 688 irq, chip->name, ret); 4af8be67f Mark Brown 2012-05-13 689 goto err_domain; f8beab2bb Mark Brown 2011-10-28 690 } f8beab2bb Mark Brown 2011-10-28 691 72a6a5df2 Krzysztof Kozlowski 2014-03-13 692 *data = d; 72a6a5df2 Krzysztof Kozlowski 2014-03-13 693 f8beab2bb Mark Brown 2011-10-28 694 return 0; f8beab2bb Mark Brown 2011-10-28 695 4af8be67f Mark Brown 2012-05-13 696 err_domain: 4af8be67f Mark Brown 2012-05-13 697 /* Should really dispose of the domain but... */ f8beab2bb Mark Brown 2011-10-28 698 err_alloc: 7a78479fd Laxman Dewangan 2015-12-22 699 kfree(d->type_buf); 7a78479fd Laxman Dewangan 2015-12-22 700 kfree(d->type_buf_def); a43fd50dc Mark Brown 2012-06-05 701 kfree(d->wake_buf); f8beab2bb Mark Brown 2011-10-28 702 kfree(d->mask_buf_def); f8beab2bb Mark Brown 2011-10-28 703 kfree(d->mask_buf); f8beab2bb Mark Brown 2011-10-28 704 kfree(d->status_buf); a7440eaa9 Mark Brown 2013-01-03 705 kfree(d->status_reg_buf); f8beab2bb Mark Brown 2011-10-28 706 kfree(d); f8beab2bb Mark Brown 2011-10-28 707 return ret; f8beab2bb Mark Brown 2011-10-28 708 } f8beab2bb Mark Brown 2011-10-28 709 EXPORT_SYMBOL_GPL(regmap_add_irq_chip); f8beab2bb Mark Brown 2011-10-28 710 :::::: The code at line 644 was first introduced by commit :::::: 7a78479fd2acd25db7ecd1744d76f6841ec8a257 regmap: irq: add support for configuration of trigger type :::::: TO: Laxman Dewangan :::::: CC: Mark Brown --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation --xHFwDpU9dbj6ez1V Content-Type: application/gzip Content-Disposition: attachment; filename=".config.gz" Content-Transfer-Encoding: base64 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 --xHFwDpU9dbj6ez1V--