lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:   Fri, 23 Sep 2016 21:43:39 -0600
From:   Shuah Khan <shuahkh@....samsung.com>
To:     corbet@....net, nab@...ux-iscsi.org, rostedt@...dmis.org,
        arnd@...db.de, mchehab@...nel.org, hans.verkuil@...co.com
Cc:     linux-doc@...r.kernel.org, linux-kernel@...r.kernel.org,
        Shuah Khan <shuahkh@....samsung.com>
Subject: Re: [PATCH] samples: move blackfin gptimers-example from
 Documentation

On 09/23/2016 05:45 PM, Shuah Khan wrote:
> Move blackfin gptimers-example to samples and remove the Documentation
> Makefile. Update samples Kconfig and Makefile to build gptimers-example.
> 
> Signed-off-by: Shuah Khan <shuahkh@....samsung.com>

This patch isn't complete. CONFIG_BUILD_DOCSRC=1 make fails without
updating the Makefile and lib/Kconfig.debug

I am going to send v2 that is complete.

thanks,
-- Shuah

> ---
>  Documentation/Makefile                    |  1 -
>  Documentation/blackfin/00-INDEX           |  4 --
>  Documentation/blackfin/Makefile           |  5 --
>  Documentation/blackfin/gptimers-example.c | 91 -------------------------------
>  samples/Kconfig                           |  6 ++
>  samples/Makefile                          |  2 +-
>  samples/blackfin/Makefile                 |  1 +
>  samples/blackfin/gptimers-example.c       | 91 +++++++++++++++++++++++++++++++
>  8 files changed, 99 insertions(+), 102 deletions(-)
>  delete mode 100644 Documentation/Makefile
>  delete mode 100644 Documentation/blackfin/Makefile
>  delete mode 100644 Documentation/blackfin/gptimers-example.c
>  create mode 100644 samples/blackfin/Makefile
>  create mode 100644 samples/blackfin/gptimers-example.c
> 
> diff --git a/Documentation/Makefile b/Documentation/Makefile
> deleted file mode 100644
> index 8435965..0000000
> --- a/Documentation/Makefile
> +++ /dev/null
> @@ -1 +0,0 @@
> -subdir-y := blackfin
> diff --git a/Documentation/blackfin/00-INDEX b/Documentation/blackfin/00-INDEX
> index c54fcdd..265a1ef 100644
> --- a/Documentation/blackfin/00-INDEX
> +++ b/Documentation/blackfin/00-INDEX
> @@ -1,10 +1,6 @@
>  00-INDEX
>  	- This file
> -Makefile
> -	- Makefile for gptimers example file.
>  bfin-gpio-notes.txt
>  	- Notes in developing/using bfin-gpio driver.
>  bfin-spi-notes.txt
>  	- Notes for using bfin spi bus driver.
> -gptimers-example.c
> -	- gptimers example
> diff --git a/Documentation/blackfin/Makefile b/Documentation/blackfin/Makefile
> deleted file mode 100644
> index 6782c58..0000000
> --- a/Documentation/blackfin/Makefile
> +++ /dev/null
> @@ -1,5 +0,0 @@
> -ifneq ($(CONFIG_BLACKFIN),)
> -ifneq ($(CONFIG_BFIN_GPTIMERS),)
> -obj-m := gptimers-example.o
> -endif
> -endif
> diff --git a/Documentation/blackfin/gptimers-example.c b/Documentation/blackfin/gptimers-example.c
> deleted file mode 100644
> index 283eba9..0000000
> --- a/Documentation/blackfin/gptimers-example.c
> +++ /dev/null
> @@ -1,91 +0,0 @@
> -/*
> - * Simple gptimers example
> - *	http://docs.blackfin.uclinux.org/doku.php?id=linux-kernel:drivers:gptimers
> - *
> - * Copyright 2007-2009 Analog Devices Inc.
> - *
> - * Licensed under the GPL-2 or later.
> - */
> -
> -#include <linux/interrupt.h>
> -#include <linux/module.h>
> -
> -#include <asm/gptimers.h>
> -#include <asm/portmux.h>
> -
> -/* ... random driver includes ... */
> -
> -#define DRIVER_NAME "gptimer_example"
> -
> -#ifdef IRQ_TIMER5
> -#define SAMPLE_IRQ_TIMER IRQ_TIMER5
> -#else
> -#define SAMPLE_IRQ_TIMER IRQ_TIMER2
> -#endif
> -
> -struct gptimer_data {
> -	uint32_t period, width;
> -};
> -static struct gptimer_data data;
> -
> -/* ... random driver state ... */
> -
> -static irqreturn_t gptimer_example_irq(int irq, void *dev_id)
> -{
> -	struct gptimer_data *data = dev_id;
> -
> -	/* make sure it was our timer which caused the interrupt */
> -	if (!get_gptimer_intr(TIMER5_id))
> -		return IRQ_NONE;
> -
> -	/* read the width/period values that were captured for the waveform */
> -	data->width = get_gptimer_pwidth(TIMER5_id);
> -	data->period = get_gptimer_period(TIMER5_id);
> -
> -	/* acknowledge the interrupt */
> -	clear_gptimer_intr(TIMER5_id);
> -
> -	/* tell the upper layers we took care of things */
> -	return IRQ_HANDLED;
> -}
> -
> -/* ... random driver code ... */
> -
> -static int __init gptimer_example_init(void)
> -{
> -	int ret;
> -
> -	/* grab the peripheral pins */
> -	ret = peripheral_request(P_TMR5, DRIVER_NAME);
> -	if (ret) {
> -		printk(KERN_NOTICE DRIVER_NAME ": peripheral request failed\n");
> -		return ret;
> -	}
> -
> -	/* grab the IRQ for the timer */
> -	ret = request_irq(SAMPLE_IRQ_TIMER, gptimer_example_irq,
> -			IRQF_SHARED, DRIVER_NAME, &data);
> -	if (ret) {
> -		printk(KERN_NOTICE DRIVER_NAME ": IRQ request failed\n");
> -		peripheral_free(P_TMR5);
> -		return ret;
> -	}
> -
> -	/* setup the timer and enable it */
> -	set_gptimer_config(TIMER5_id,
> -			WDTH_CAP | PULSE_HI | PERIOD_CNT | IRQ_ENA);
> -	enable_gptimers(TIMER5bit);
> -
> -	return 0;
> -}
> -module_init(gptimer_example_init);
> -
> -static void __exit gptimer_example_exit(void)
> -{
> -	disable_gptimers(TIMER5bit);
> -	free_irq(SAMPLE_IRQ_TIMER, &data);
> -	peripheral_free(P_TMR5);
> -}
> -module_exit(gptimer_example_exit);
> -
> -MODULE_LICENSE("BSD");
> diff --git a/samples/Kconfig b/samples/Kconfig
> index 85c405f..d67b4b7 100644
> --- a/samples/Kconfig
> +++ b/samples/Kconfig
> @@ -99,4 +99,10 @@ config SAMPLE_SECCOMP
>  	  Build samples of seccomp filters using various methods of
>  	  BPF filter construction.
>  
> +config SAMPLE_BLACKFIN_GPTIMERS
> +	tristate "Build blackfin gptimers sample code -- loadable modules only"
> +	depends on CONFIG_BLACKFIN && CONFIG_BFIN_GPTIMERS && m
> +	help
> +	  Build samples of blackfin gptimers sample module.
> +
>  endif # SAMPLES
> diff --git a/samples/Makefile b/samples/Makefile
> index 1a20169..e17d66d 100644
> --- a/samples/Makefile
> +++ b/samples/Makefile
> @@ -2,4 +2,4 @@
>  
>  obj-$(CONFIG_SAMPLES)	+= kobject/ kprobes/ trace_events/ livepatch/ \
>  			   hw_breakpoint/ kfifo/ kdb/ hidraw/ rpmsg/ seccomp/ \
> -			   configfs/ connector/ v4l/ trace_printk/
> +			   configfs/ connector/ v4l/ trace_printk/ blackfin/
> diff --git a/samples/blackfin/Makefile b/samples/blackfin/Makefile
> new file mode 100644
> index 0000000..89b86cf
> --- /dev/null
> +++ b/samples/blackfin/Makefile
> @@ -0,0 +1 @@
> +obj-$(CONFIG_SAMPLE_BLACKFIN_GPTIMERS) += gptimers-example.o
> diff --git a/samples/blackfin/gptimers-example.c b/samples/blackfin/gptimers-example.c
> new file mode 100644
> index 0000000..283eba9
> --- /dev/null
> +++ b/samples/blackfin/gptimers-example.c
> @@ -0,0 +1,91 @@
> +/*
> + * Simple gptimers example
> + *	http://docs.blackfin.uclinux.org/doku.php?id=linux-kernel:drivers:gptimers
> + *
> + * Copyright 2007-2009 Analog Devices Inc.
> + *
> + * Licensed under the GPL-2 or later.
> + */
> +
> +#include <linux/interrupt.h>
> +#include <linux/module.h>
> +
> +#include <asm/gptimers.h>
> +#include <asm/portmux.h>
> +
> +/* ... random driver includes ... */
> +
> +#define DRIVER_NAME "gptimer_example"
> +
> +#ifdef IRQ_TIMER5
> +#define SAMPLE_IRQ_TIMER IRQ_TIMER5
> +#else
> +#define SAMPLE_IRQ_TIMER IRQ_TIMER2
> +#endif
> +
> +struct gptimer_data {
> +	uint32_t period, width;
> +};
> +static struct gptimer_data data;
> +
> +/* ... random driver state ... */
> +
> +static irqreturn_t gptimer_example_irq(int irq, void *dev_id)
> +{
> +	struct gptimer_data *data = dev_id;
> +
> +	/* make sure it was our timer which caused the interrupt */
> +	if (!get_gptimer_intr(TIMER5_id))
> +		return IRQ_NONE;
> +
> +	/* read the width/period values that were captured for the waveform */
> +	data->width = get_gptimer_pwidth(TIMER5_id);
> +	data->period = get_gptimer_period(TIMER5_id);
> +
> +	/* acknowledge the interrupt */
> +	clear_gptimer_intr(TIMER5_id);
> +
> +	/* tell the upper layers we took care of things */
> +	return IRQ_HANDLED;
> +}
> +
> +/* ... random driver code ... */
> +
> +static int __init gptimer_example_init(void)
> +{
> +	int ret;
> +
> +	/* grab the peripheral pins */
> +	ret = peripheral_request(P_TMR5, DRIVER_NAME);
> +	if (ret) {
> +		printk(KERN_NOTICE DRIVER_NAME ": peripheral request failed\n");
> +		return ret;
> +	}
> +
> +	/* grab the IRQ for the timer */
> +	ret = request_irq(SAMPLE_IRQ_TIMER, gptimer_example_irq,
> +			IRQF_SHARED, DRIVER_NAME, &data);
> +	if (ret) {
> +		printk(KERN_NOTICE DRIVER_NAME ": IRQ request failed\n");
> +		peripheral_free(P_TMR5);
> +		return ret;
> +	}
> +
> +	/* setup the timer and enable it */
> +	set_gptimer_config(TIMER5_id,
> +			WDTH_CAP | PULSE_HI | PERIOD_CNT | IRQ_ENA);
> +	enable_gptimers(TIMER5bit);
> +
> +	return 0;
> +}
> +module_init(gptimer_example_init);
> +
> +static void __exit gptimer_example_exit(void)
> +{
> +	disable_gptimers(TIMER5bit);
> +	free_irq(SAMPLE_IRQ_TIMER, &data);
> +	peripheral_free(P_TMR5);
> +}
> +module_exit(gptimer_example_exit);
> +
> +MODULE_LICENSE("BSD");
> 

Powered by blists - more mailing lists