All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tony Lindgren <tony@atomide.com>
To: Andrew de Quincey <adq_dvb@lidskialf.net>
Cc: linux-omap@vger.kernel.org, ladis@linux-mips.org
Subject: Re: Tracking N770 breakage
Date: Mon, 1 Jun 2009 16:18:39 -0700	[thread overview]
Message-ID: <20090601231839.GD22956@atomide.com> (raw)
In-Reply-To: <20090523142542.10985fjvcwu3k9s0@lidskialf.net>

* Andrew de Quincey <adq_dvb@lidskialf.net> [090523 06:25]:

<snip snip>

> Ok, I spent some time looking for the magic code in  
> drivers/base/platform.c that would mean you could use a device  
> registered with register_platform_device() with a driver which had been 
> registered with just driver_register().
>
> As it turns out, there is no magic code:  it appears you must always use 
> register_platform_driver() for platform_devices (because the  
> drivers/base/platform.c code expects to be able to cast things  
> internally to a struct platform_driver, which is NOT the case when using 
> driver_register())
>
> Attached is v1 of a patch which converts everything in drivers/cbus to  
> use register_platform_driver(). This means the USB gadget stuff is now  
> working properly, but obviously this needs review!
>
> One problem though:  Juha Yrjölä's name is being corrupted in the file  
> headers. I'm using all-UTF8 here, but obviously the files are in a  
> different encoding. What one is the correct to use? I can easily convert 
> them to the appropriate UTF8 characters, but I don't want to piss people 
> off by just doing so.

Can you please repost the patch with proper Signed-off-by? And with
the subject that makes sense for commit.. That way I can apply it
cleanly using patchworks and no editing needed ;)

Tony


> diff --git a/drivers/cbus/retu-rtc.c b/drivers/cbus/retu-rtc.c
> index 1ebc33b..76343f9 100644
> --- a/drivers/cbus/retu-rtc.c
> +++ b/drivers/cbus/retu-rtc.c
> @@ -361,7 +361,7 @@ static int retu_rtc_init_irq(void)
>  }
>  
>  
> -static int __devinit retu_rtc_probe(struct device *dev)
> +static int __devinit retu_rtc_probe(struct platform_device *pdev)
>  {
>  	int r;
>  
> @@ -380,48 +380,49 @@ static int __devinit retu_rtc_probe(struct device *dev)
>  	else
>  		retu_rtc_do_reset();
>  
> -	if ((r = device_create_file(dev, &dev_attr_time)) != 0)
> +	if ((r = device_create_file(&(pdev->dev), &dev_attr_time)) != 0)
>  		return r;
> -	else if ((r = device_create_file(dev, &dev_attr_reset)) != 0)
> +	else if ((r = device_create_file(&(pdev->dev), &dev_attr_reset)) != 0)
>  		goto err_unregister_time;
> -	else if ((r = device_create_file(dev, &dev_attr_alarm)) != 0)
> +	else if ((r = device_create_file(&(pdev->dev), &dev_attr_alarm)) != 0)
>  		goto err_unregister_reset;
> -	else if ((r = device_create_file(dev, &dev_attr_alarm_expired)) != 0)
> +	else if ((r = device_create_file(&(pdev->dev), &dev_attr_alarm_expired)) != 0)
>  		goto err_unregister_alarm;
> -	else if ((r = device_create_file(dev, &dev_attr_cal)) != 0)
> +	else if ((r = device_create_file(&(pdev->dev), &dev_attr_cal)) != 0)
>  		goto err_unregister_alarm_expired;
>  	else
>  		return r;
>  
>  err_unregister_alarm_expired:
> -	device_remove_file(dev, &dev_attr_alarm_expired);
> +	device_remove_file(&(pdev->dev), &dev_attr_alarm_expired);
>  err_unregister_alarm:
> -	device_remove_file(dev, &dev_attr_alarm);
> +	device_remove_file(&(pdev->dev), &dev_attr_alarm);
>  err_unregister_reset:
> -	device_remove_file(dev, &dev_attr_reset);
> +	device_remove_file(&(pdev->dev), &dev_attr_reset);
>  err_unregister_time:
> -	device_remove_file(dev, &dev_attr_time);
> +	device_remove_file(&(pdev->dev), &dev_attr_time);
>  	return r;
>  }
>  
> -static int __devexit retu_rtc_remove(struct device *dev)
> +static int __devexit retu_rtc_remove(struct platform_device *pdev)
>  {
>  	retu_disable_irq(RETU_INT_RTCS);
>  	retu_free_irq(RETU_INT_RTCS);
>  	retu_free_irq(RETU_INT_RTCA);
> -	device_remove_file(dev, &dev_attr_cal);
> -	device_remove_file(dev, &dev_attr_alarm_expired);
> -	device_remove_file(dev, &dev_attr_alarm);
> -	device_remove_file(dev, &dev_attr_reset);
> -	device_remove_file(dev, &dev_attr_time);
> +	device_remove_file(&(pdev->dev), &dev_attr_cal);
> +	device_remove_file(&(pdev->dev), &dev_attr_alarm_expired);
> +	device_remove_file(&(pdev->dev), &dev_attr_alarm);
> +	device_remove_file(&(pdev->dev), &dev_attr_reset);
> +	device_remove_file(&(pdev->dev), &dev_attr_time);
>  	return 0;
>  }
>  
> -static struct device_driver retu_rtc_driver = {
> -	.name		= "retu-rtc",
> -	.bus		= &platform_bus_type,
> +static struct platform_driver retu_rtc_driver = {
>  	.probe		= retu_rtc_probe,
>  	.remove		= __devexit_p(retu_rtc_remove),
> +	.driver		= {
> +		.name		= "retu-rtc",
> +	}
>  };
>  
>  static struct platform_device retu_rtc_device = {
> @@ -448,7 +449,7 @@ static int __init retu_rtc_init(void)
>  
>  	init_completion(&retu_rtc_exited);
>  
> -	if ((ret = driver_register(&retu_rtc_driver)) != 0)
> +	if ((ret = platform_driver_register(&retu_rtc_driver)) != 0)
>  		return ret;
>  
>  	if ((ret = platform_device_register(&retu_rtc_device)) != 0)
> @@ -457,14 +458,14 @@ static int __init retu_rtc_init(void)
>  	return 0;
>  
>  err_unregister_driver:
> -	driver_unregister(&retu_rtc_driver);
> +	platform_driver_unregister(&retu_rtc_driver);
>  	return ret;
>  }
>  
>  static void __exit retu_rtc_exit(void)
>  {
>  	platform_device_unregister(&retu_rtc_device);
> -	driver_unregister(&retu_rtc_driver);
> +	platform_driver_unregister(&retu_rtc_driver);
>  
>  	wait_for_completion(&retu_rtc_exited);
>  }
> diff --git a/drivers/cbus/retu-wdt.c b/drivers/cbus/retu-wdt.c
> index b7b20b7..1fa181e 100644
> --- a/drivers/cbus/retu-wdt.c
> +++ b/drivers/cbus/retu-wdt.c
> @@ -104,20 +104,20 @@ static DEVICE_ATTR(period, S_IRUGO | S_IWUSR, retu_wdt_period_show, \
>  			retu_wdt_period_store);
>  static DEVICE_ATTR(counter, S_IRUGO, retu_wdt_counter_show, NULL);
>  
> -static int __devinit retu_wdt_probe(struct device *dev)
> +static int __devinit retu_wdt_probe(struct platform_device *pdev)
>  {
>  	int ret;
>  
> -	ret = device_create_file(dev, &dev_attr_period);
> +	ret = device_create_file(&(pdev->dev), &dev_attr_period);
>  	if (ret) {
>  		printk(KERN_ERR "retu_wdt_probe: Error creating "
>  					"sys device file: period\n");
>  		return ret;
>  	}
>  
> -	ret = device_create_file(dev, &dev_attr_counter);
> +	ret = device_create_file(&(pdev->dev), &dev_attr_counter);
>  	if (ret) {
> -		device_remove_file(dev, &dev_attr_period);
> +		device_remove_file(&(pdev->dev), &dev_attr_period);
>  		printk(KERN_ERR "retu_wdt_probe: Error creating "
>  					"sys device file: counter\n");
>  	}
> @@ -125,10 +125,10 @@ static int __devinit retu_wdt_probe(struct device *dev)
>  	return ret;
>  }
>  
> -static int __devexit retu_wdt_remove(struct device *dev)
> +static int __devexit retu_wdt_remove(struct platform_device *pdev)
>  {
> -	device_remove_file(dev, &dev_attr_period);
> -	device_remove_file(dev, &dev_attr_counter);
> +	device_remove_file(&(pdev->dev), &dev_attr_period);
> +	device_remove_file(&(pdev->dev), &dev_attr_counter);
>  	return 0;
>  }
>  
> @@ -145,11 +145,12 @@ static struct platform_device retu_wdt_device = {
>  	},
>  };
>  
> -static struct device_driver retu_wdt_driver = {
> -	.name = "retu-watchdog",
> -	.bus = &platform_bus_type,
> +static struct platform_driver retu_wdt_driver = {
>  	.probe = retu_wdt_probe,
>  	.remove = __devexit_p(retu_wdt_remove),
> +	.driver = {
> +		.name = "retu-watchdog",
> +	}
>  };
>  
>  static int __init retu_wdt_init(void)
> @@ -158,7 +159,7 @@ static int __init retu_wdt_init(void)
>  
>  	init_completion(&retu_wdt_completion);
>  
> -	ret = driver_register(&retu_wdt_driver);
> +	ret = platform_driver_register(&retu_wdt_driver);
>  	if (ret)
>  		return ret;
>  
> @@ -178,7 +179,7 @@ static int __init retu_wdt_init(void)
>  	return ret;
>  
>  exit1:
> -	driver_unregister(&retu_wdt_driver);
> +	platform_driver_unregister(&retu_wdt_driver);
>  	wait_for_completion(&retu_wdt_completion);
>  
>  	return ret;
> @@ -187,7 +188,7 @@ exit1:
>  static void __exit retu_wdt_exit(void)
>  {
>  	platform_device_unregister(&retu_wdt_device);
> -	driver_unregister(&retu_wdt_driver);
> +	platform_driver_unregister(&retu_wdt_driver);
>  
>  	wait_for_completion(&retu_wdt_completion);
>  }
> diff --git a/drivers/cbus/retu.c b/drivers/cbus/retu.c
> index 84d7840..d9f28d5 100644
> --- a/drivers/cbus/retu.c
> +++ b/drivers/cbus/retu.c
> @@ -5,7 +5,7 @@
>   *
>   * Copyright (C) 2004, 2005 Nokia Corporation
>   *
> - * Written by Juha Yrj?l? <juha.yrjola@nokia.com>,
> + * Written by Juha Yrjölä <juha.yrjola@nokia.com>,
>   *	      David Weinehall <david.weinehall@nokia.com>, and
>   *	      Mikko Ylinen <mikko.k.ylinen@nokia.com>
>   *
> @@ -319,7 +319,7 @@ static void retu_power_off(void)
>   * Probe for the Retu ASIC and allocate memory
>   * for its device-struct if found
>   */
> -static int __devinit retu_probe(struct device *dev)
> +static int __devinit retu_probe(struct platform_device *pdev)
>  {
>  	const struct omap_em_asic_bb5_config * em_asic_config;
>  	int rev, ret;
> @@ -384,7 +384,7 @@ static int __devinit retu_probe(struct device *dev)
>  	return 0;
>  }
>  
> -static int retu_remove(struct device *dev)
> +static int retu_remove(struct platform_device *pdev)
>  {
>  #ifdef CONFIG_CBUS_RETU_USER
>  	retu_user_cleanup();
> @@ -403,11 +403,12 @@ static void retu_device_release(struct device *dev)
>  	complete(&device_release);
>  }
>  
> -static struct device_driver retu_driver = {
> -	.name		= "retu",
> -	.bus		= &platform_bus_type,
> +static struct platform_driver retu_driver = {
>  	.probe		= retu_probe,
>  	.remove		= retu_remove,
> +	.driver 	= {
> +		.name		= "retu",
> +	}
>  };
>  
>  static struct platform_device retu_device = {
> @@ -431,11 +432,11 @@ static int __init retu_init(void)
>  
>  	init_completion(&device_release);
>  
> -	if ((ret = driver_register(&retu_driver)) < 0)
> +	if ((ret = platform_driver_register(&retu_driver)) < 0)
>  		return ret;
>  
>  	if ((ret = platform_device_register(&retu_device)) < 0) {
> -		driver_unregister(&retu_driver);
> +		platform_driver_unregister(&retu_driver);
>  		return ret;
>  	}
>  	return 0;
> @@ -447,7 +448,7 @@ static int __init retu_init(void)
>  static void __exit retu_exit(void)
>  {
>  	platform_device_unregister(&retu_device);
> -	driver_unregister(&retu_driver);
> +	platform_driver_unregister(&retu_driver);
>  	wait_for_completion(&device_release);
>  }
>  
> @@ -464,4 +465,4 @@ module_exit(retu_exit);
>  
>  MODULE_DESCRIPTION("Retu ASIC control");
>  MODULE_LICENSE("GPL");
> -MODULE_AUTHOR("Juha Yrj?l?, David Weinehall, and Mikko Ylinen");
> +MODULE_AUTHOR("Juha Yrj�l�, David Weinehall, and Mikko Ylinen");
> diff --git a/drivers/cbus/tahvo-usb.c b/drivers/cbus/tahvo-usb.c
> index d8ad836..df74d28 100644
> --- a/drivers/cbus/tahvo-usb.c
> +++ b/drivers/cbus/tahvo-usb.c
> @@ -9,9 +9,9 @@
>   * Copyright (C) 2004 Texas Instruments
>   * Copyright (C) 2004 David Brownell
>   *
> - * Written by Juha Yrj?l? <juha.yrjola@nokia.com>,
> + * Written by Juha Yrjölä <juha.yrjola@nokia.com>,
>   *	      Tony Lindgren <tony@atomide.com>, and
> - *	      Timo Ter?s <timo.teras@nokia.com>
> + *	      Timo Ter�s <timo.teras@nokia.com>
>   *
>   * This file is subject to the terms and conditions of the GNU General
>   * Public License. See the file "COPYING" in the main directory of this
> @@ -186,11 +186,11 @@ static int omap_otg_init(void)
>  	return 0;
>  }
>  
> -static int omap_otg_probe(struct device *dev)
> +static int omap_otg_probe(struct platform_device *pdev)
>  {
>  	int ret;
>  
> -	tahvo_otg_dev = to_platform_device(dev);
> +	tahvo_otg_dev = pdev;
>  	ret = omap_otg_init();
>  	if (ret != 0) {
>  		printk(KERN_ERR "tahvo-usb: omap_otg_init failed\n");
> @@ -202,19 +202,21 @@ static int omap_otg_probe(struct device *dev)
>  			   &tahvo_usb_device);
>  }
>  
> -static int omap_otg_remove(struct device *dev)
> +static int omap_otg_remove(struct platform_device *pdev)
>  {
> -	free_irq(tahvo_otg_dev->resource[1].start, &tahvo_usb_device);
> +	if (tahvo_otg_dev != NULL)
> +		free_irq(tahvo_otg_dev->resource[1].start, &tahvo_usb_device);
>  	tahvo_otg_dev = NULL;
>  
>  	return 0;
>  }
>  
> -struct device_driver omap_otg_driver = {
> -	.name		= "omap_otg",
> -	.bus		= &platform_bus_type,
> +struct platform_driver omap_otg_driver = {
>  	.probe		= omap_otg_probe,
>  	.remove		= omap_otg_remove,
> +	.driver		= {
> +		.name		= "omap_otg",
> +	}
>  };
>  
>  /*
> @@ -641,19 +643,19 @@ static ssize_t otg_mode_store(struct device *device,
>  static DEVICE_ATTR(otg_mode, 0644, otg_mode_show, otg_mode_store);
>  #endif
>  
> -static int tahvo_usb_probe(struct device *dev)
> +static int tahvo_usb_probe(struct platform_device *pdev)
>  {
>  	struct tahvo_usb *tu;
>  	int ret;
>  
> -	dev_dbg(dev, "probe\n");
> +	dev_dbg(&(pdev->dev), "probe\n");
>  
>  	/* Create driver data */
>  	tu = kmalloc(sizeof(*tu), GFP_KERNEL);
>  	if (!tu)
>  		return -ENOMEM;
>  	memset(tu, 0, sizeof(*tu));
> -	tu->pt_dev = container_of(dev, struct platform_device, dev);
> +	tu->pt_dev = pdev;
>  #ifdef CONFIG_USB_OTG
>  	/* Default mode */
>  #ifdef CONFIG_CBUS_TAHVO_USB_HOST_BY_DEFAULT
> @@ -680,9 +682,9 @@ static int tahvo_usb_probe(struct device *dev)
>  	}
>  
>  	/* Attributes */
> -	ret = device_create_file(dev, &dev_attr_vbus_state);
> +	ret = device_create_file(&(pdev->dev), &dev_attr_vbus_state);
>  #ifdef CONFIG_USB_OTG
> -	ret |= device_create_file(dev, &dev_attr_otg_mode);
> +	ret |= device_create_file(&(pdev->dev), &dev_attr_otg_mode);
>  #endif
>  	if (ret)
>  		printk(KERN_ERR "attribute creation failed: %d\n", ret);
> @@ -706,7 +708,7 @@ static int tahvo_usb_probe(struct device *dev)
>  		return ret;
>  	}
>  
> -	dev->driver_data = tu;
> +	pdev->dev.driver_data = tu;
>  
>  	/* Act upon current vbus state once at startup. A vbus state irq may or
>  	 * may not be generated in addition to this. */
> @@ -714,25 +716,26 @@ static int tahvo_usb_probe(struct device *dev)
>  	return 0;
>  }
>  
> -static int tahvo_usb_remove(struct device *dev)
> +static int tahvo_usb_remove(struct platform_device *pdev)
>  {
> -	dev_dbg(dev, "remove\n");
> +	dev_dbg(&(pdev->dev), "remove\n");
>  
>  	tahvo_free_irq(TAHVO_INT_VBUSON);
>  	flush_scheduled_work();
>  	otg_set_transceiver(0);
> -	device_remove_file(dev, &dev_attr_vbus_state);
> +	device_remove_file(&(pdev->dev), &dev_attr_vbus_state);
>  #ifdef CONFIG_USB_OTG
> -	device_remove_file(dev, &dev_attr_otg_mode);
> +	device_remove_file(&(pdev->dev), &dev_attr_otg_mode);
>  #endif
>  	return 0;
>  }
>  
> -static struct device_driver tahvo_usb_driver = {
> -	.name		= "tahvo-usb",
> -	.bus		= &platform_bus_type,
> +static struct platform_driver tahvo_usb_driver = {
>  	.probe		= tahvo_usb_probe,
>  	.remove		= tahvo_usb_remove,
> +	.driver		= {
> +		.name		= "tahvo-usb",
> +	}
>  };
>  
>  static struct platform_device tahvo_usb_device = {
> @@ -745,18 +748,18 @@ static int __init tahvo_usb_init(void)
>  	int ret = 0;
>  
>  	printk(KERN_INFO "Tahvo USB transceiver driver initializing\n");
> -	ret = driver_register(&tahvo_usb_driver);
> +	ret = platform_driver_register(&tahvo_usb_driver);
>  	if (ret)
>  		return ret;
>  	ret = platform_device_register(&tahvo_usb_device);
>  	if (ret < 0) {
> -		driver_unregister(&tahvo_usb_driver);
> +		platform_driver_unregister(&tahvo_usb_driver);
>  		return ret;
>  	}
> -	ret = driver_register(&omap_otg_driver);
> +	ret = platform_driver_register(&omap_otg_driver);
>  	if (ret) {
>  		platform_device_unregister(&tahvo_usb_device);
> -		driver_unregister(&tahvo_usb_driver);
> +		platform_driver_unregister(&tahvo_usb_driver);
>  		return ret;
>  	}
>  	return 0;
> @@ -766,12 +769,12 @@ subsys_initcall(tahvo_usb_init);
>  
>  static void __exit tahvo_usb_exit(void)
>  {
> -	driver_unregister(&omap_otg_driver);
> +	platform_driver_unregister(&omap_otg_driver);
>  	platform_device_unregister(&tahvo_usb_device);
> -	driver_unregister(&tahvo_usb_driver);
> +	platform_driver_unregister(&tahvo_usb_driver);
>  }
>  module_exit(tahvo_usb_exit);
>  
>  MODULE_DESCRIPTION("Tahvo USB OTG Transceiver Driver");
>  MODULE_LICENSE("GPL");
> -MODULE_AUTHOR("Juha Yrj?l?, Tony Lindgren, and Timo Ter?s");
> +MODULE_AUTHOR("Juha Yrj�l�, Tony Lindgren, and Timo Ter�s");
> diff --git a/drivers/cbus/tahvo.c b/drivers/cbus/tahvo.c
> index e734c4c..29fd4b8 100644
> --- a/drivers/cbus/tahvo.c
> +++ b/drivers/cbus/tahvo.c
> @@ -5,7 +5,7 @@
>   *
>   * Copyright (C) 2004, 2005 Nokia Corporation
>   *
> - * Written by Juha Yrj?l? <juha.yrjola@nokia.com>,
> + * Written by Juha Yrj�l� <juha.yrjola@nokia.com>,
>   *	      David Weinehall <david.weinehall@nokia.com>, and
>   *	      Mikko Ylinen <mikko.k.ylinen@nokia.com>
>   *
> @@ -287,7 +287,7 @@ void tahvo_free_irq(int id)
>   * Probe for the Tahvo ASIC and allocate memory
>   * for its device-struct if found
>   */
> -static int __devinit tahvo_probe(struct device *dev)
> +static int __devinit tahvo_probe(struct platform_device *pdev)
>  {
>  	const struct omap_em_asic_bb5_config * em_asic_config;
>  	int rev, id, ret;
> @@ -356,7 +356,7 @@ static int __devinit tahvo_probe(struct device *dev)
>  	return 0;
>  }
>  
> -static int tahvo_remove(struct device *dev)
> +static int tahvo_remove(struct platform_device *pdev)
>  {
>  #ifdef CONFIG_CBUS_TAHVO_USER
>  	tahvo_user_cleanup();
> @@ -375,11 +375,12 @@ static void tahvo_device_release(struct device *dev)
>  	complete(&device_release);
>  }
>  
> -static struct device_driver tahvo_driver = {
> -	.name		= "tahvo",
> -	.bus		= &platform_bus_type,
> +static struct platform_driver tahvo_driver = {
>  	.probe		= tahvo_probe,
>  	.remove		= tahvo_remove,
> +	.driver		= {
> +		.name		= "tahvo",
> +	}
>  };
>  
>  static struct platform_device tahvo_device = {
> @@ -403,11 +404,11 @@ static int __init tahvo_init(void)
>  
>  	init_completion(&device_release);
>  
> -	if ((ret = driver_register(&tahvo_driver)) < 0)
> +	if ((ret = platform_driver_register(&tahvo_driver)) < 0)
>  		return ret;
>  
>  	if ((ret = platform_device_register(&tahvo_device)) < 0) {
> -		driver_unregister(&tahvo_driver);
> +		platform_driver_unregister(&tahvo_driver);
>  		return ret;
>  	}
>  	return 0;
> @@ -419,7 +420,7 @@ static int __init tahvo_init(void)
>  static void __exit tahvo_exit(void)
>  {
>  	platform_device_unregister(&tahvo_device);
> -	driver_unregister(&tahvo_driver);
> +	platform_driver_unregister(&tahvo_driver);
>  	wait_for_completion(&device_release);
>  }
>  
> @@ -439,4 +440,4 @@ module_exit(tahvo_exit);
>  
>  MODULE_DESCRIPTION("Tahvo ASIC control");
>  MODULE_LICENSE("GPL");
> -MODULE_AUTHOR("Juha Yrj?l?, David Weinehall, and Mikko Ylinen");
> +MODULE_AUTHOR("Juha Yrj�l�, David Weinehall, and Mikko Ylinen");
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  reply	other threads:[~2009-06-01 23:18 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-05-16 13:06 Tracking N770 breakage Andrew de Quincey
2009-05-17  2:17 ` Andrew de Quincey
2009-05-19 23:15   ` Tony Lindgren
2009-05-20  5:15     ` Andrew de Quincey
2009-05-20 15:19       ` Tony Lindgren
2009-05-22 17:47         ` Andrew de Quincey
2009-05-22 18:33           ` Andrew de Quincey
2009-05-22 22:18             ` Andrew de Quincey
2009-05-23  1:39               ` Andrew de Quincey
2009-05-23  1:47                 ` Tony Lindgren
2009-05-23 11:11                   ` Andrew de Quincey
2009-05-23 11:30                     ` Andrew de Quincey
2009-05-23 12:28                       ` Andrew de Quincey
2009-05-23 13:25                         ` Andrew de Quincey
2009-06-01 23:18                           ` Tony Lindgren [this message]
2009-06-08 19:55                             ` [patch] Convert cbus driver code to use platform APIs consistently Andrew de Quincey
2009-06-09 10:20                               ` Tony Lindgren
2009-06-09 17:13                                 ` Andrew de Quincey

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20090601231839.GD22956@atomide.com \
    --to=tony@atomide.com \
    --cc=adq_dvb@lidskialf.net \
    --cc=ladis@linux-mips.org \
    --cc=linux-omap@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.