- 06 3月, 2014 1 次提交
-
-
由 Sekhar Nori 提交于
Fix multiple watchdog device registration on da8xx devices due to davinci_init_devices blindly registering watchdog device. Fix this by getting rid of the initcall and instead registering watchdog for each soc. Signed-off-by: NSekhar Nori <nsekhar@ti.com>
-
- 09 1月, 2014 1 次提交
-
-
由 Ivan Khoronzhuk 提交于
As we switch to use the watchdog core which permits more than one active watchdog in the system, rename platform driver to "davinci-wdt" to be identifiable. Acked-by: NWim Van Sebroeck <wim@iguana.be> Reviewed-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NIvan Khoronzhuk <ivan.khoronzhuk@ti.com> Signed-off-by: NSekhar Nori <nsekhar@ti.com>
-
- 26 12月, 2013 1 次提交
-
-
由 Lad, Prabhakar 提交于
As the davinci-gpio driver is migrated to use irqdomain there is no need to pass the irq base for the gpio driver. This patch removes this variable from davinci_gpio_platform_data and also the refrences from the machine file. Signed-off-by: NLad, Prabhakar <prabhakar.csengg@gmail.com> Acked-by: NLinus Walleij <linus.walleij@linaro.org> Signed-off-by: NSekhar Nori <nsekhar@ti.com>
-
- 05 12月, 2013 1 次提交
-
-
由 Peter Ujfalusi 提交于
The ASoC McASP driver looks for the mem resources by name "mpu" and "dat" regions. Change/add the needed name for the mem resources so the driver can pick the correct resource. Signed-off-by: NPeter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: NSekhar Nori <nsekhar@ti.com>
-
- 21 11月, 2013 1 次提交
-
-
由 Lad, Prabhakar 提交于
The davinci_gpio_register() function expects the number of resources as the second parameter, but sizeof() resources was passed to it due to which it was causing unexpected behaviour. This patch fixes the same by passing the ARRAY_SIZE() of resources. Reported-by: NGrygorii Strashko <grygorii.strashko@ti.com> Signed-off-by: NLad, Prabhakar <prabhakar.csengg@gmail.com> Signed-off-by: NSekhar Nori <nsekhar@ti.com>
-
- 24 9月, 2013 1 次提交
-
-
由 Philip Avinash 提交于
DaVinci GPIO driver now uses platform device model. Add a GPIO platform register API to convert the traditional DaVinci SoCs to use the new model. While at it, also group related include files together wherever that was not the case. Signed-off-by: NPhilip Avinash <avinashphilip@ti.com> Acked-by: NLinus Walleij <linus.walleij@linaro.org> Signed-off-by: NLad, Prabhakar <prabhakar.csengg@gmail.com> [nsekhar@ti.com: move function declaration to local header, simplify commit message, merge SoC specific portions from other patches into this patch] Signed-off-by: NSekhar Nori <nsekhar@ti.com>
-
- 22 8月, 2013 3 次提交
-
-
由 Lad, Prabhakar 提交于
This patch removes the clock alias for mdio device and adds a entry in clock lookup table, this entry can now be used by both DT and non-DT case. Signed-off-by: NLad, Prabhakar <prabhakar.csengg@gmail.com> Signed-off-by: NSekhar Nori <nsekhar@ti.com>
-
由 Manjunathappa, Prakash 提交于
Get rid of davinci_serial_setup_clk() since its not called from multiple places now. Instead initialize clock in davinci_serial_init() itself. This also helps get rid of "serial_dev" member of struct davinci_soc_info. Signed-off-by: NManjunathappa, Prakash <prakash.pm@ti.com> Suggested-by: NSekhar Nori <nsekhar@ti.com> [nsekhar@ti.com: split removal of davinci_serial_setup_clk() into a separate patch.] Signed-off-by: NSekhar Nori <nsekhar@ti.com>
-
由 Manjunathappa, Prakash 提交于
"struct davinci_uart_config" was introduced to specify UART ports brought out or enabled on the board. But none of the boards use it for that purpose and we are not going to add anymore board files, so remove the structure. Signed-off-by: NManjunathappa, Prakash <prakash.pm@ti.com> Suggested-by: NSekhar Nori <nsekhar@ti.com> [nsekhar@ti.com: split patch to remove davinci_serial_setup_clk() changes.] Signed-off-by: NSekhar Nori <nsekhar@ti.com>
-
- 22 7月, 2013 1 次提交
-
-
由 Manjunathappa, Prakash 提交于
For modules having single clock, clk_get should be done with dev_id. But current davinci implementation handles multiple instances of the UART devices with single platform_device_register. Hence clk_get is based on con_id rather than dev_id, this is not correct. Do platform_device_register for each instance and clk_get on dev_id. Signed-off-by: NManjunathappa, Prakash <prakash.pm@ti.com> [nsekhar@ti.com: actually stop using con_id in clk_get(), squash the patch adding OF aux data into this one] Signed-off-by: NSekhar Nori <nsekhar@ti.com>
-
- 24 6月, 2013 1 次提交
-
-
由 Matt Porter 提交于
Adds support for parsing the TI EDMA DT data into the required EDMA private API platform data. Enables runtime PM support to initialize the EDMA hwmod. Enables build on OMAP. Changes by Joel: * Setup default one-to-one mapping for queue_priority and queue_tc mapping as discussed in [1]. * Split out xbar stuff to separate patch. [1] * Dropped unused DT helper to convert to array * Fixed dangling pointer issue with Sekhar's changes [1] https://patchwork.kernel.org/patch/2226761/Signed-off-by: NMatt Porter <mporter@ti.com> [nsekhar@ti.com: fix checkpatch errors, build breakages. Introduce edma_setup_info_from_dt() as part of that effort] Signed-off-by: NJoel A Fernandes <joelagnel@ti.com> Acked-by: NArnd Bergmann <arnd@arndb.de> Signed-off-by: NSekhar Nori <nsekhar@ti.com>
-
- 18 6月, 2013 1 次提交
-
-
由 Matt Porter 提交于
Move mach-davinci/dma.c to common/edma.c so it can be used by OMAP (specifically AM33xx) as well. Signed-off-by: NMatt Porter <mporter@ti.com> Acked-by: Chris Ball <cjb@laptop.org> # davinci_mmc.c Acked-by: NMark Brown <broonie@linaro.org> Acked-by: NOlof Johansson <olof@lixom.net> [nsekhar@ti.com: dropped davinci sffsdr changes] Signed-off-by: NSekhar Nori <nsekhar@ti.com>
-
- 15 4月, 2013 1 次提交
-
-
由 Lad, Prabhakar 提交于
By default the VPSS clocks were enabled in capture driver for davinci family which creates duplicates for dm355/dm365/dm644x. This patch adds support to enable the VPSS clocks in VPSS driver, which avoids duplication of code and also adding clock aliases. This patch uses PM runtime API to enable/disable clock, instead of DaVinci clock framework. con_ids for master and slave clocks of vpss is added in pm_domain. This patch cleanups the VPSS clock enabling in the capture driver, and also removes the clock alias in machine file. Along side adds a vpss slave clock for DM365 as mentioned by Sekhar (https://patchwork.kernel.org/patch/1221261/). The Suspend/Resume in dm644x_ccdc.c which enabled/disabled the VPSS clock is now implemented as part of the VPSS driver. Signed-off-by: NLad, Prabhakar <prabhakar.csengg@gmail.com> Acked-by: NSekhar Nori <nsekhar@ti.com> Signed-off-by: NHans Verkuil <hans.verkuil@cisco.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
- 03 4月, 2013 1 次提交
-
-
由 Manjunathappa, Prakash 提交于
Remove specifying mmc controller IP version information via platform data, instead specify device name so that driver derives it from platform_device_id table. Also change the clock node name to match the changed dev_id. Tested on da850-evm to make sure driver loads without clk_get failures. Signed-off-by: NManjunathappa, Prakash <prakash.pm@ti.com> Reviewed-by: NSekhar Nori <nsekhar@ti.com> Acked-by: NArnd Bergmann <arnd@arndb.de> Acked-by: NChris Ball <cjb@laptop.org> Signed-off-by: NSekhar Nori <nsekhar@ti.com>
-
- 20 3月, 2013 1 次提交
-
-
由 Hans Verkuil 提交于
Remove VPBE_ENC_DV_PRESET (the DV_PRESET API is no longer supported) and VPBE_ENC_CUSTOM_TIMINGS is renamed to VPBE_ENC_DV_TIMINGS since the old "CUSTOM_TIMINGS" name is deprecated in favor of "DV_TIMINGS". Signed-off-by: NHans Verkuil <hans.verkuil@cisco.com> Acked-by: NLad, Prabhakar <prabhakar.lad@ti.com> Acked-by: NSekhar Nori <nsekhar@ti.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
- 22 12月, 2012 1 次提交
-
-
由 Lad, Prabhakar 提交于
The vpbe driver can handle different platforms DM644X, DM36X and DM355. To differentiate between this platforms venc_type/vpbe_type was passed as part of platform data which was incorrect. The correct way to differentiate to handle this case is by passing different platform names. This patch creates platform_device_id[] array supporting different platforms and assigns id_table to the platform driver, and finally in the probe gets the actual device by using platform_get_device_id() and gets the appropriate driver data for that platform. Taking this approach will also make the DT transition easier. Signed-off-by: NLad, Prabhakar <prabhakar.lad@ti.com> Signed-off-by: NManjunath Hadli <manjunath.hadli@ti.com> Acked-by: NSekhar Nori <nsekhar@ti.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
- 19 11月, 2012 1 次提交
-
-
由 Lad, Prabhakar 提交于
Fix the video clock setting when custom timings are used with pclock <= 27MHz. Existing video clock selection uses PLL2 mode which results in a 54MHz clock whereas using the MXI mode results in a 27MHz clock (which is the one actually desired). This bug affects the Enhanced Definition (ED) support on DM644x. Without this patch, out-range signals errors are were observed on the TV when viewing ED. An out-of-range signal is often caused when the field rate is above the rate that the television will handle. Signed-off-by: NLad, Prabhakar <prabhakar.lad@ti.com> Signed-off-by: NManjunath Hadli <manjunath.hadli@ti.com> Cc: Sekhar Nori <nsekhar@ti.com> [nsekhar@ti.com: reword commit message based on on-list discussion] Signed-off-by: NSekhar Nori <nsekhar@ti.com>
-
- 27 10月, 2012 1 次提交
-
-
由 Ben Gardiner 提交于
The current davinci init sets up SRAM in iotables. There has been an observed failure to boot a da850 with 128K specified in the iotable. Make the davinci sram allocator do an ioremap of the region specified by the entries in davinci_soc_info before registering with gen_pool_add_virt(). Remove all iotable SRAM mappings and SRAM_VIRT. Regression tested suspend/resume on AM180x EVM. Signed-off-by: NBen Gardiner <bengardiner@nanometrics.ca> Signed-off-by: NMatt Porter <mporter@ti.com> Signed-off-by: NSekhar Nori <nsekhar@ti.com>
-
- 06 10月, 2012 1 次提交
-
-
由 Hans Verkuil 提交于
This patch replaces the preset API by the timings API, and appropriate changes in board file. Signed-off-by: NHans Verkuil <hans.verkuil@cisco.com> Signed-off-by: NLad, Prabhakar <prabhakar.lad@ti.com> Signed-off-by: NManjunath Hadli <manjunath.hadli@ti.com> Acked-by: NSekhar Nori <nsekhar@ti.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
- 28 8月, 2012 1 次提交
-
-
由 Hebbar, Gururaja 提交于
Davinci McASP header & driver are shared by few OMAP platforms (like TI81xx, AM335x). Splitting asp header into Davinci platform specific header and Audio specific header helps to share them across platforms. Audio specific defines is moved to to common <linux/platform_data/davinci_asp.h> so that the header can be accessed by all related platforms. While here, correct the header usage (remove multiple header re-definitions and unused headers) and remove platform names from structures comments and enum. Also some some coding style errors. Signed-off-by: NHebbar, Gururaja <gururaja.hebbar@ti.com> Acked-by: NVaibhav Bedia <vaibhav.bedia@ti.com> Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-
- 11 3月, 2012 1 次提交
-
-
由 Manjunath Hadli 提交于
Add functions to register various video devices like venc, osd, vpbe and the v4l2 display driver for dm644x. Change dm644x_init_video() to make room for display related configuration. Register the vpfe or vpbe devices only if valid display configuration is provided to make sure boards without video support dont erroneously register video devices. Signed-off-by: NManjunath Hadli <manjunath.hadli@ti.com> Signed-off-by: NSekhar Nori <nsekhar@ti.com>
-
- 25 2月, 2012 5 次提交
-
-
由 Manjunath Hadli 提交于
Move all vpfe platform device registrations to the board specific file. This removes registration of vpfe platform devices on boards which do not use vpfe. Signed-off-by: NManjunath Hadli <manjunath.hadli@ti.com> Signed-off-by: NSekhar Nori <nsekhar@ti.com>
-
由 Manjunath Hadli 提交于
Add dm644x_ prefix to names of v4l2 variables in dm644x.c Add dm644xevm_ prefix to names of v4l2 variables in board-dm644x-evm.c. This makes the code consistent with rest of these files. Signed-off-by: NManjunath Hadli <manjunath.hadli@ti.com> Signed-off-by: NSekhar Nori <nsekhar@ti.com>
-
由 Manjunath Hadli 提交于
Replace the VPSS base address "magic number" with the define "DM644X_VPSS_BASE" to improve readability. While at it, fix the indentation done using spaces in this part of code. Signed-off-by: NManjunath Hadli <manjunath.hadli@ti.com> Signed-off-by: NSekhar Nori <nsekhar@ti.com>
-
由 Manjunath Hadli 提交于
There are instances of IO_ADDRESS() being used for system module (sysmod) register access. Eliminate this in favor of a ioremap() based access. ioremap() the entire sysmod address space once during boot-up and provide a helper macro to access specific register offsets within the address space. With this, also eliminate ioremap() of specific sysmodule registers related to VPIF happening in DM646x EVM code. While at it, also eliminate some duplicate sysmod register offset macros defined in code and place offset definitions at one place in davinci.h Signed-off-by: NManjunath Hadli <manjunath.hadli@ti.com> Acked-by: NArnd Bergmann <arnd@arndb.de> [nsekhar@ti.com: removed the addition of ifndef __ASSEMBLER__ in davinci.h, eliminate IO_ADDRESS() usage left out in dm646x.c, cleanup VPIF sysmodule register access as part of this patch and keep all sysmod offsets in davinci.h Also, convert the WARN_ON() on failure to setup sysmod base to BUG_ON()] Signed-off-by: NSekhar Nori <nsekhar@ti.com>
-
由 Manjunath Hadli 提交于
Remove individual platform header files for dm365, dm355, dm644x and dm646x and consolidate it into a single and common header file davinci.h placed in arch/arm/mach-davinci. This reduces the pollution in the include/mach and is consistent with Russell's suggestions as part of his "pet peaves" mail. (See #4 in: http://lists.infradead.org/pipermail/linux-arm-kernel/2011-November/071516.html) While at it, fix the forward declaration of spi_board_info, and include the right header file instead. The further patches in the series take advantage of this consolidation for easy implementation of IO_ADDRESS elimination. Signed-off-by: NManjunath Hadli <manjunath.hadli@ti.com> [nsekhar@ti.com: make davinci.h the first local include file, fix forward declaration of spi_board_info and add back Deep Root Systems, LLC copyright] Signed-off-by: NSekhar Nori <nsekhar@ti.com>
-
- 21 1月, 2012 1 次提交
-
-
由 Manjunath Hadli 提交于
Move register base addresses and offsets used only by dm644x.c from arch/arm/mach-davinci/include/mach/dm644x.h to the C file as these definitions are used only there. This helps reduce code in arch/arm/mach-davinci/include/mach which is not really needed by rest of the kernel. Signed-off-by: NManjunath Hadli <manjunath.hadli@ti.com> Signed-off-by: NSekhar Nori <nsekhar@ti.com>
-
- 05 1月, 2012 1 次提交
-
-
由 Sekhar Nori 提交于
Rather than using DaVinci specific davinci_soc_info based restart hook, use the restart hook available in the machine descriptor instead. Tested on DM365 and AM18x EVMs. v2: Changed to use restart hook in machine descriptor per Russell's comment. Signed-off-by: NSekhar Nori <nsekhar@ti.com> Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
- 03 12月, 2011 1 次提交
-
-
由 Murali Karicheri 提交于
On a new SoC based on DaVinci, there are multiple power domains similar to that in C6670 (c6x). Currently the clock module assumes that there are only two power domains (0 and 1). This patch removes this restriction to allow porting on to the new SoC. Reviewed-by :Sergei Shtylyov <sshtylyov@mvista.com> Signed-off-by: NMurali Karicheri <m-karicheri2@ti.com> Signed-off-by: NSekhar Nori <nsekhar@ti.com>
-
- 17 9月, 2011 1 次提交
-
-
由 Ido Yariv 提交于
Davinci platforms may define a default queue for each channel controller. If one is not defined, the default queue is set to EVENTQ_1. However, there's no way to distinguish between an unset default queue to one that is set to EVENTQ_0, as EVENTQ_0 = 0. Explicitly specify the default queue for all channel controllers on all Davinci platforms to EVENTQ_1, and don't overwrite it in the EDMA probe function. One exception is the DA850 board, for which EVENTQ_1 is not a valid option for its second channel controller. Use EVENTQ_0 instead for that channel controller. Signed-off-by: NIdo Yariv <ido@wizery.com> Signed-off-by: NSekhar Nori <nsekhar@ti.com>
-
- 22 8月, 2011 1 次提交
-
-
由 Linus Walleij 提交于
The <mach/gpio.h> file is included from upper directories and deal with generic GPIO and gpiolib stuff. Break out the platform and driver specific defines and functions into its own header file. Cc: Sekhar Nori <nsekhar@ti.com> Cc: Kevin Hilman <khilman@ti.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org> Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
- 27 4月, 2011 1 次提交
-
-
由 Lucas De Marchi 提交于
These changes were incorrectly fixed by codespell. They were now manually corrected. Signed-off-by: NLucas De Marchi <lucas.demarchi@profusion.mobi>
-
- 31 3月, 2011 1 次提交
-
-
由 Lucas De Marchi 提交于
Fixes generated by 'codespell' and manually reviewed. Signed-off-by: NLucas De Marchi <lucas.demarchi@profusion.mobi>
-
- 18 11月, 2010 1 次提交
-
-
由 Chris Paulson-Ellis 提交于
Multi-component commit f0fba2ad broke a few things which this patch should fix. Tested on the DM355 EVM. I've been as careful as I can, but it would be good if those with access to other Davinci boards could test. -- The multi-component commit put the initialisation of snd_soc_dai.[capture|playback]_dma_data into snd_soc_dai_ops.hw_params of the McBSP, McASP & VCIF drivers (davinci-i2s.c, davinci-mcasp.c & davinci-vcif.c). The initialisation had to be moved from the probe function in these drivers because davinci_*_dai changed from snd_soc_dai to snd_soc_dai_driver. Unfortunately, the DMA params pointer is needed by davinci_pcm_open (in davinci-pcm.c) before hw_params is called. I have moved the initialisation to a new snd_soc_dai_ops.startup function in each of these drivers. This fix indicates that all platforms that use davinci-pcm must have been broken and need to test with this fix. -- The multi-component commit also changed the McBSP driver name from "davinci-asp" to "davinci-i2s" in davinci-i2s.c without updating the board level references to the driver name. This change is understandable, as there is a similarly named "davinci-mcasp" driver in davinci-mcasp.c. There is probably no 'correct' name for this driver. The DM6446 datasheet calls it the "ASP" and describes it as a "specialised McBSP". The DM355 datasheet calls it the "ASP" and describes it as a "specialised ASP". The DM365 datasheet calls it the "McBSP". Rather than fix this problem by reverting to "davinci-asp", I've elected to avoid future confusion with the "davinci-mcasp" driver by changing it to "davinci-mcbsp", which is also consistent with the names of the functions in the driver. There are other fixes required, so it was never going to be as simple as a revert anyway. -- The DM365 only has one McBSP port (of the McBSP platforms, only the DM355 has 2 ports), so I've changed the the id of the platform_device from 0 to -1. -- In davinci-evm.c, the DM6446 EVM can no longer share a snd_soc_dai_link structure with the DM355 EVM as they use different cpu DAI names (the DM355 has 2 ports and the EVM uses the second port, but the DM6446 only has 1 port). This also means that the 2 boards need different snd_soc_card structures. -- The codec_name entries in davinci-evm.c didn't match the i2c ids in the board files. I have only checked and fixed the details of the names used for the McBSP based platforms. Someone with a McASP based platform (eg DA8xx) should check the others. Signed-off-by: NChris Paulson-Ellis <chris@edesix.com> Acked-by: NLiam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
-
- 25 9月, 2010 1 次提交
-
-
由 Santosh Shilimkar 提交于
On Davinci SRAM is mapped as MT_DEVICE becasue of the section mapping pre-requisite instead of intended MT_MEMORY_NONCACHED Since the section mapping limitation gets fixed with first patch in this series, the MT_MEMORY_NONCACHED can be used now. Signed-off-by: NSantosh Shilimkar <santosh.shilimkar@ti.com> Acked-by: NKevin Hilman <khilman@deeprootsystems.com> Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
- 24 9月, 2010 2 次提交
-
-
由 Cyril Chemparathy 提交于
This patch removes davinci architecture code that has now been rendered useless by the previous patches in the MDIO separation series. In addition, the earlier phy_mask definitions have been replaced with corresponding phy_id definitions. Signed-off-by: NCyril Chemparathy <cyril@ti.com> Tested-by: NMichael Williamson <michael.williamson@criticallink.com> Tested-by: NCaglar Akyuz <caglarakyuz@gmail.com> Signed-off-by: NKevin Hilman <khilman@deeprootsystems.com>
-
由 Cyril Chemparathy 提交于
This patch adds mdio platform devices on SoCs that have the necessary hardware. Clock lookup entries (aliases) have also been added, so that the MDIO and EMAC drivers can independently enable/disable a shared underlying clock. Further, the EMAC MMR region has been split down into separate MDIO and EMAC regions. Signed-off-by: NCyril Chemparathy <cyril@ti.com> Acked-by: NDavid S. Miller <davem@davemloft.net> Tested-by: NMichael Williamson <michael.williamson@criticallink.com> Tested-by: NCaglar Akyuz <caglarakyuz@gmail.com> Signed-off-by: NKevin Hilman <khilman@deeprootsystems.com>
-
- 06 8月, 2010 1 次提交
-
-
由 Sekhar Nori 提交于
This patch modifies the EDMA driver to expect the channel controller (CC) infomation passed on by the platform as a fixed size (EDMA_MAX_CC) array of pointers to structures. Doing so helps catch errors of the sort where the resource structure has information for more channel controllers than the number channel controller info structures defined. Such insufficient platform data would lead to illegal memory accesses. Signed-off-by: NSekhar Nori <nsekhar@ti.com> Signed-off-by: NKevin Hilman <khilman@deeprootsystems.com>
-
- 14 5月, 2010 2 次提交
-
-
由 Cyril Chemparathy 提交于
This patch modifies the pinmux implementation so as to ioremap() the pinmux register area on first use. Signed-off-by: NCyril Chemparathy <cyril@ti.com> Signed-off-by: NKevin Hilman <khilman@deeprootsystems.com>
-
由 Cyril Chemparathy 提交于
This patch implements the following: - interrupt initialization uses ioremap() instead of passing a virtual address via davinci_soc_info. - machine definitions directly point to cp_intc_init() or davinci_irq_init() - davinci_intc_type and davinci_intc_base now get initialized in controller specific init functions instead of davinci_common_init() - minor fix in davinci_irq_init() to use intc_irq_num instead of DAVINCI_N_AINTC_IRQ Signed-off-by: NCyril Chemparathy <cyril@ti.com> Signed-off-by: NKevin Hilman <khilman@deeprootsystems.com>
-